Betreibt man MySQL auf einen Server der Cron-Jobs erlaubt, kann man MySQL-Datenbanken täglich auf einen Schlag sichern. Dabei spielt es keine Rolle ob inzwischen neue Datenbanken erstellt oder welche gelöscht wurden, das Script selbst bleibt unverändert.

MySQL Backup: One Script to rule them all …

Das folgende Bash-Script ermittelt alle aktuell vorhandenen MySQL-Datenbanken, und schreibt im laufenden Datenbankserver-Betrieb komprimierte MySQL-Dumps in einen lokalen Ordner (BACKUP_DIR). Es kann eingestellt werden, wie viele solcher Kopien vorgehalten werden (HOLD_DAYS). Ältere Ordner werden automatisch gelöscht.

Idealer Weise sollte das Script täglich als Cron-Job laufen. Die gesicherten Dateien sollten entweder direkt auf eine Freigabe auf einem anderen Server abgelegt oder täglich per FTP oder WGET auf einen anderen Rechner gesichert werden.