Tento článek popisuje, jak nastavit úlohu cron, která automaticky zálohuje databázi MySQL do souboru v určitých intervalech.
Automatické zálohování databáze pomocí úloh cron
Existují dva způsoby, jak spouštět úlohy cron, které zálohují databázi MySQL. Přihlašovací údaje k MySQL můžete buď zahrnout do samotného příkazu cron job, nebo můžete použít konfigurační soubor k uložení přihlašovacích údajů k MySQL.
Metoda č. 1:Zahrnout přihlašovací údaje MySQL do příkazu cron job
Plánované zálohování databáze MySQL můžete spustit vytvořením úlohy cron, která spustí následující příkaz:
/usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql
Nahraďte dbusername uživatelem databáze, dbpassword heslem uživatele databáze, dbname databází k zálohování a cestu cestou, kam chcete uložit záložní soubor. Tento příklad používá backup.sql pro název souboru zálohy, ale můžete použít libovolný název souboru.
- Jednoduché uvozovky (') kolem hesla zajišťují správné zpracování všech speciálních znaků.
- Když se příkaz úspěšně spustí, negeneruje se žádný výstup. Pokud však dojde k chybě nebo nesprávné konfiguraci, v závislosti na konfiguraci účtu můžete obdržet e-mailovou zprávu, která obsahuje výstup příkazu. Chcete-li potlačit e-mailové zprávy, když příkaz selže, přidejte na konec příkazu úlohy cron následující text:
2>/dev/null
Většina lidí však chce být upozorněna, když úloha cron selže.
Informace o tom, jak použít cPanel k vytvoření úlohy cron, naleznete v tomto článku.
Metoda č. 2:Použijte konfigurační soubor k uložení přihlašovacích údajů MySQL
Případně můžete ve svém domovském adresáři vytvořit konfigurační soubor, který uchovává přihlašovací údaje k MySQL. Při použití této metody nemusíte do příkazů úlohy cron zahrnout přihlašovací údaje. Chcete-li to provést, postupujte takto:
- Vytvořte soubor s názvem .my.cnf ve vašem /home/ adresář uživatelských jmen, nahraďte uživatelské jméno vaším uživatelským jménem účtu. Ujistěte se, že jste uvedli úvodní . v názvu souboru.
- Zkopírujte a vložte následující text do .my.cnf soubor. Nahraďte dbusername uživatelem databáze a nahraďte dbpassword heslem uživatele databáze:
[client] user = dbusername password = "dbpassword" host = localhost
-
Vytvořte úlohu cron, která spustí následující příkaz. Nahraďte dbname názvem databáze, kterou chcete zálohovat, a cestu nahraďte cestou k uložení záložního souboru. Tento příklad používá backup.sql pro název souboru zálohy, ale můžete použít libovolný název souboru:
mysqldump --routines dbname > /path/backup.sql
Po úspěšném spuštění příkazu není generován žádný výstup. Pokud však dojde k chybě nebo nesprávné konfiguraci, v závislosti na konfiguraci účtu můžete obdržet e-mailovou zprávu, která obsahuje výstup příkazu. Chcete-li potlačit e-mailové zprávy, když příkaz selže, přidejte na konec příkazu úlohy cron následující text:
2>/dev/null
Většina lidí však chce být upozorněna, když úloha cron selže.
Informace o tom, jak použít cPanel k vytvoření úlohy cron, naleznete v tomto článku.
Další informace
Další informace o mysqldump program, navštivte prosím http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html.