Linux: Jak zálohovat soubory a MySQL na FTP

Záloha souborů a MYSQL databází serveru na vzdálený FTP

Máte svůj server nebo VPS s přístupem na příkazovou řádku Linux Shell (SSH přístup). Chcete zálohovat například obsah adresáře var/www/html kde jsou uložené všechny soubory vašich webů, dále chcete zálohovat všechny MySQL databáze na serveru. Toto vše chcete zálohovat na vzdálený FTP server.

Jak zálohovat na FTP

Přihlašte se přes SSH k vašemu serveru a nahrajeme si dva dávkové soubory – shell skripty které když spustíme, provedou nám buď přenos zálohy na vzdálené FTP nebo rovnou i zálohu MySQL vytvoří. Také si ukážeme jak nastavit u těchto skriptů pravidelné automatické spouštění – pravidelnou zálohu souborů (serveru na FTP). Zabere vám to tak 15 minut+

1. Instalace skriptu pro zálohování souborů na FTP

1. Přejděte v shellu na umístění kde chcete aby byl skript umístěný. Například:
cd /var/

2. Stáhněte do vybraného adresáře připravený skript z mé stránky
wget http://zajimave-clanky.info/data/linux/ftp.www.backup.sh

3. Stažený soubor upravte v editoru Vi a vložte vaše přístupové údaje ke vzdálenému FTP serveru na který chcete soubory zálohovat.
vi ftp.www.backup.sh

Tipy pro práci s editorem Vi viz níže.

2. Skript pro zálohu MySQL databází na FTP

1. Přejděte v Shellu na umístění kde chcete aby byl skript umístěný. Například:
cd /var/

2. Stáhněte do vybraného adresáře připravený skript z mé stránky
wget http://zajimave-clanky.info/data/linux/ftp.mysql.backup.sh

3. Stažený soubor upravte v editoru Vi a vložte vaše přístupové údaje k lokálnímu mysql a ke vzdálenému FTP serveru na který chcete zálohu MySQL nahrát.
vi ftp.mysql.backup.sh

Tipy pro práci s editorem Vi viz níže.

Dokončení, Spuštění úloh a automatizace

Skripty pracují s programem „lftp“ který řídí FTP přenos dat, proto si program lftp nainstalujeme následujícím příkazem. Instalaci bude třeba potvrdit zadáním znaku „y“ a odentrováním:
yum install lftp

Našim .SH skriptům musíme přidat práva pro spuštění, to uděláme těmito příkazy:
chmod +x /var/ftp.www.backup.sh
chmod +x /var/ftp.mysql.backup.sh

Nastavíme cronjob (program „crontab“) který pravidelně v daný čas spouští naše skripty. Shell skript pro FTP převod zálohy souborů na 15:30 každý den a skript pro zálohu a FTP převod MySQL databází na 16:30 každý den.. Spustíme tedy editor crontab příkazem crontab -e a vložíme následující řádky podobným způsobem jako při editaci v editoru Vi:
30 15 * * * /var/ftp.www.backup.sh
30 16 * * * /var/ftp.mysql.backup.sh

FTP zálohování můžeme také spustit například vždy o půlnoci a zakázat zaslání potvrzujícího emailu o provedení následujícím vložením příkazu do crontab tabulky:
@midnight /var/ftp.XXXX.backup.sh >/dev/null 2>&1

TIPY:

  • Červeně zvýrazněné příkazy do Shellu kopírujte Ctrl+C a vkládat se dají do terminálového okna pravým tlačítkem myši.

Zdroj shell (sh) skriptů a návod: Linux-unix-autologin-cron-ftp-script

Případné dotazy prosím pište do komentářů. Mohu také pomoci.