Jak nastavit zálohování všech webů na Linuxu
1) Vytvoříme složku pro ukládání záloh. (ideálně jinde, než na disku se zdrojovou složkou)
sudo mkdir -m 777 /disk1/zalohy/www
2) Vytvoříme skript
sudo nano /skripty/zaloha-www.sh
3) Vložíme do něj následující obsah a uložíme (ctrl + O), následně ukončíme práci v editoru (ctrl + X)
#!/bin/bash
TIME=`date +%b-%d-%y` # Tento příkaz zjistí datum.
FILENAME=backup-www-$TIME.tar.gz # Zde nastavíme, jak se mají soubory zálohy pojmenovat.
SRCDIR=/var/www # Zde nastavíme cestu k našim webům
DESDIR=/disk1/zalohy/www # Zde nastavíme, kam chceme zálohy ukládat.if [ ! -d $DESDIR ]; then
mkdir -p $DESDIR
fi# Přejde do zdrojového adresáře webů
cd "$SRCDIR"
if [ "$(pwd)" != "$SRCDIR" ] ; then
echo "Nepodařilo se změnit adresář "
exit
fifor website in * ; do
if [[ -d $website && ! -L "$website" ]]; then
echo "Nalezená složka webu: $website"
date=$(date -I)
tar -cvpzf $DESDIR/$date-$website.tar.gz $website
fi
done
find /disk1/zalohy/www -mtime +20 -type f -delete # Zde nastavíme odstranění záloh např. po 20 dnech.
4) Přejdeme do démona
sudo crontab -e
5) Pro náš skript vytvoříme naplánovanou úlohu (na konec cronu) a uložíme
@daily sh /skripty/zaloha-www.sh >> /var/log/zaloha-www.log 2>&1
Hotovo!
Nyní by měla proběhnout záloha každý den (v 00:00) všech Vašich složek (webů) na Vámi určené místo.
Pokud by tomu tak nebylo, prosím o informaci z výpisu Vašeho logu.
Ten naleznete zde : /var/log/zaloha-www.log
Pokud by jste potřebovali svůj specifický čas, období atp. pro své zálohy, doporučuji crontab.guru tato utilita Vám vygeneruje potřebná čísla, které vložíte do cronu místo "@daily" z kroku 5)
Okamžitý test skriptu můžete provést příkazem -
sudo sh /skripty/zaloha-www.sh