Daily MySQL backup, windows batch file

Automatické denní zálohy mysql databáze na windows. Jak to řešit? Nejvhodnější je dávkový soubor bat spouštěný plánovačem v určitý čas. Najdete zde skript, který umí denní, týdenní a měsíční zálohy mysql, vše zazipované, včetně vlastního instalačního rozhraní! Pouze jedinný bat soubor!


Zdrojový kód ke stažení backup_mysql_v1.zip, backup_mysql20090725.zip

Zálohovat MySQL databázi na vývojovém počítači není od věci. Určitě by to mělo patřit mezi BEST PRACTICES programátora. Obvykle asi nebudete mít na vývojovém počítači hodnotná data v mysql, ale i ztráta datové struktury může být problém!

Dlouho jsem hledal vhodný skript, který by splňoval všechny mé požadavky. Na linux najdete spousty kvalitních skriptů, ale na windows je to horší.

Existují řešení postavené na php, např. phpMyBackupPro, jejich nevýhodou je, že rekonstrukci databáze provádí v php kódu. Lepí výsledný backup soubor jako skládačku.

Tvrdím, že jediná správná cesta je přes mysqldump. V tomhle věřím jedině nástroji dodávaném společně s mysql distribucí, ten myslí i na zpětnou kompatibilitu jednotlivých verzí mysql.

Další možností je spouštět mysqldump z php a předávat mu parametry podle nastavení uživatele, což nutně znamená pracovat s příkazem exec a to může být opět problematické.

Nakonec jsem si musel slepit několik takových skriptů do jednoho. Stačí mu nastavit přístupové údaje do databáze, cestu k souboru mysqldump, cestu k archivátoru gzip a cestu kam bude ukládat denní, týdenní a měsíční zálohy.

V průběhu testování budou určitě vznikat nové a nové verze. Pokud máte někdo podobný problém a bude se Vám líbit tohle řešení, tak najdete v příkladech ke stažení vždy aktuální verzi.