V tomto článku je popsáno jednoduché zálohování webhostingu přes FTP. My si nyní popíšeme, jak můžeme toto zálohování zjednodušit pomocí rsync a skriptu v Bash. Rsync je možno použít v operačních systémech Linux nebo MacOS, případně možno i ve Windows přes WSL.
Nejdříve stáhneme obsah webhostingu:
wget --mirror --ftp-user=user --ftp-password=password\
--no-host-directories ftp://*.w*.wedos.net/
Za –ftp-user= zadáme váš login do FTP vašeho webhostingu, za –ftp-password= zadáme heslo na FTP vašeho webhostingu. ftp://*.w*.wedos.net/ zadáme adresu vašeho FTP serveru u webhostingu.
Vysvětlení jednotlivých direktiv:
–mirror
rekurzivní stahování
–ftp-user=user
přidání ftp loginu
–ftp-password=password
přidání ftp hesla
–no-host-directories
při rekurzivním stahování nevytváří hirearchii adresářů
Poté si stažené soubory komprimujeme do jednoho souboru pomocí zip:
zip -r ftp.zip /slozka_se_zalohou/
Komprimuje se celá složka se staženou zálohou.
Po komprimaci stažených záloh je dobré automaticky vymazat stažené adresáře ve složce se zálohou (vycházíme z adresářové struktury webhostingu).
rm -r /slozka_se_zalohou/tmp
rm -r /slozka_se_zalohou/session
rm -r /slozka_se_zalohou/logs
rm -r /slozka_se_zalohou/www
A následně použijeme rsync a pošleme staženou a komprimovanou zálohu na Wedos Disk.
rsync -av --password-file=/slozka_se_souborem/rsync.pass /slozka_se_zalohou/ftp.zip rsync://s***@s***.s**.wedos.net/s***/slozka_se_zalohou/
s*** je FTP login u vašeho Wedos Disku, s*.s**.wedos.net** je adresa vašeho FTP připojení na Wedos Disk.
Vysvětlení jednotlivých direktiv:
-a
archive mode, porovnává, jestli se jedná o stejný soubor
-v
na výstupu je více informací (můžeme také použít -vv nebo -vvv pro ještě více informací při výstupu)
–password-file
soubor s heslem pro FTP přístup na Wedos Disk. Soubor rsync.pass obsahuje jen heslo a nastavte mu práva 600.
Celý kód dohromady vypadá takto (soubor můžeme nazvat například ftp.sh)
#!/bin/bash
# zaloha FTP webhostingu pomocí rsync
# stazeni ftp
wget --mirror --ftp-user=user --ftp-password=password\
--no-host-directories ftp://*.w*.wedos.net/
#zazipovani adresare
zip -r ftp.zip /slozka_se_zalohou/
#vymazani slozek se zalohou
rm -r /slozka_se_zalohou/tmp
rm -r /slozka_se_zalohou/session
rm -r /slozka_se_zalohou/logs
rm -r /slozka_se_zalohou/www
#poslat na Wedos Disk
rsync -av --password-file=/slozka_se_souborem/rsync.pass /slozka_se_zalohou/ftp.zip rsync://s***@s***.s**.wedos.net/s***/slozka_se_zalohou/