Installation automysqlbackup

Nach dem ich die Backupfunktion via raspiBackup umgesetzt hatte, wollte ich auch noch eine regelmäßige Sicherung der MySQL Datenbanken erreichen. Durch das DMS System, welches auf dem Pi installiert ist, ändern sich die Datanbanken schon häufiger als gedacht.

Vom Webserver kannte ich automysqlbackup, als ich danach suchte, bin ich ziehmlich schnell bei sourceforge.net rausgekommen. Hier gibt es immer die neueste Version als download. Zuerst hatte ich es via Debian Paketmanager versucht, hier gibt es aber nur eine sehr alte Version. Also habe ich mich für die manuelle Installation entschieden. Diese ist recht schnell erledigt.

cd /tmp
wget -O automysqlbackup-v3.0_rc6.tar.gz http://downloads.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fautomysqlbackup%2F&ts=1468584871&use_mirror=tenet
tar xvzf automysqlbackup-v3.0_rc6.tar.gz
./install.sh

Nach kurzem einlesen in die Konfigurationsdatei /etc/automysqlbackup/automysqlbackup.conf habe ich meine Zugangsdaten zur Datenbank und den Backuppfad eingetragen. Danach konnte ich schon einen ersten Test mehr oder weniger erfolgreich abschließen.

root@pi:/# automysqlbackup
Invoking backup method.

Parsed config file "/etc/automysqlbackup/automysqlbackup.conf"

# Checking for permissions to write to folders:
base folder /media/nas/backup ... exists ... ok.
backup folder /media/nas/backup/mysql-wz/ ... exists ... writable? yes. Proceeding.

Danach gibt es im Backupverzeichnis schon die Tabellen als sql Export im gzip Format.

Zum Schluss noch mit einem cronjob das ganze automatisieren und das wars.

10 03 * * * root /usr/sbin/automysqlbackup

Dieser Job wird jeden Tag um 3:10 Uhr ausgeführt.

Fehler

Warning: Skipping the data of table mysql.event. Specify the –events option explicitly.

Diesen Fehler bekam ich immer per Mail von Cron, nach dem der Job ausgeführt wurde. Abhilfe schafft hier nur die direkte Bearbeitung im Script.

joe /usr/sbin/automysqlbackup

Bitte nach dem folgenden Ausdruck suchen, bei mir war es die Zeile 440.

opt=( '--quote-names' '--opt' )

An diese Zeile müssen wir die Option –events anhängen, dass die Zeile dann so aussieht.

opt=( '--quote-names' '--opt' '--events' )

Danch sollte der Fehler weg sein.

mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user ‚root’@’localhost‘ for table ‚cond_instances‘ when using LOCK TABLES

Diesen Fehler konnte ich mit der Configdatei beheben. Einfach die beiden Tabellen nicht mit sichern. (information_schema, performance_schema ) Bei einem Fullbackup der Datenbanken sind diese enthalten. Bei einem separaten Wiederherstellen der DB, brauch man diese Tabellen nicht. In der Konfigdatei /etc/automysqlbackup/automysqlbackup.conf folgenden Parameter suchen und diesen wie unten ergänzen.

CONFIG_db_exclude=( 'information_schema' 'performance_schema' )

Das war es. Danach lief die Sicherung ganz normal ohne Fehler durch.