Bisher war ich ein großer Fan des Backup-Scripts AutoMySQLBackup. Es ist einfach zu installieren und macht die Datensicherung von MySQL-Datenbanken sehr einfach. Dummerweise bietet es aber keine Möglichkeit, die Retention-Time anzupassen. Mark Grennan hat zu diesem Zweck das Script angepasst. Allerdings waren einige Änderung notwendig, damit es sauber funktioniert:
- Auslagerung der Konfigurations-Parameter auf Debian-Standard
- Anpassung des Konfigurations-Pfad zu /etc/default/automysqlbackup
- Änderung der mysqldump Optionen, denn master-data=2 wird nicht benötigt und erfordert Binlogging
- Einfügen einer Überprüfung, ob USERNAME und PASSWORD gesetzt sind, da ich ~/.my.cnf hierfür benutze
Wer diese Änderung nutzen will, darf gerne den Patch und die Default-Config automysqlbackup verwenden. Zur Vervollständigung als Kurzanleitung:
Patchen und installieren:
wget https://netzdeponie.de/wp-content/uploads/2014/05/automysqlbackup.sh_.txt mv automysqlbackup.sh_.txt automysqlbackup.sh wget https://netzdeponie.de/wp-content/uploads/2014/05/patch.txt patch -i patch.txt chmod +x automysqlbackup.sh mv automysqlbackup.sh /usr/sbin/automysqlbackup.sh
Installieren der Default-Config:
wget https://netzdeponie.de/wp-content/uploads/2014/05/automysqlbackup.txt mv automysqlbackup.txt /etc/default/automysqlbackup
Die Konfiguration setzt vorraus, das der Besitzer des Cronjobs die MySQL-Zugangsdaten in ~/.my.cnf gespeichert hat:
[client] user=root password=DEINPASSWORD
Und abschließend wird der Cronjob automysqlbackup in /etc/cron.daily/ eingerichtet:
root@host:/etc/cron.daily# cat automysqlbackup #!/bin/sh test -x /usr/sbin/automysqlbackup || exit 0 /usr/sbin/automysqlbackup
Et voilà! Viel Spaß.