MySQL Server Backup auf Synology DS

()

MySQL Sicherung auf Synology NAS

In diesem Beitrag wird in wenigen Schritten gezeigt, wie eine MySQL Datenbank auf die Synology Diskstation gesichert wird. Das auf Linux gehostete Wordpress wird gesichert und anschliessend mit scp auf die Diskstation übertragen.

Auf der Diskstation wird der SSH und SFTP Daemon aktiviert.

SSH Aktivieren
SSH Aktivieren
SFTP Aktivieren
SFTP Aktivieren
SFTP Port
SFTP Port

Beim Linux host als root mit „su -“ oder „sudo su -“ anmelden und aus der bash shell die folgenden Dateien erzeugen.

$ echo "mysqldump --single-transaction -u\$1 -p\$2 wordpress > /tmp/wordpress.dump" > /usr/sbin/backup.sh

Die Datei backup.sh ausführbar machen.

$ chmod u+x /usr/sbin/backup.sh

Ein Cron Job erstellen für die Sicherung jeden Tag um Mitternacht.

echo "0 0 * * * root /usr/sbin/backup.sh root PASSWORD 2>&1 /var/log/mysqldump.log; scp /tmp/wordpress.dump root@10.1.1.2:/volume1/backup/wordpress/" >> /etc/crontab

Wobei PASSWORD dein MySQL Passwort ist, die Adresse 10.1.1.2 durch deine IP der Synology Diskstation ersetzen, volume1 ist in der Regel die erste Partition und backup ist unser angelegtes Backup Verzeichnis.

Nun auf dem Linux host ein RSA Schlüsselpaar erzeugen, damit wird beim kopieren mit scp auf die DS kein Passwort verlangt.

$ ssh-keygen -t rsa

Im Verzeichnis /root/.ssh/ wurde nun ein Privater und ein Öffentlicher Schlüssel erzeugt:

-rw------- 1 root root 1675 1. Sep 11:17 id_rsa
-rw-r--r-- 1 root root 408 1. Sep 11:17 id_rsa.pub

Der öffentliche Schlüsssel id_rsa.pub wird nun auf die Diskstation kopiert und im Pfad /root/.ssh/ in der Datei authorized_keys gespeichert, hierbei wird das root Passwort noch einmal benötigt.

$ scp /root/.ssh/id_rsa.pub root@10.1.1.2:/root/.ssh/authorized_keys

Fertig, nun wird wenn alles klappt um 00:00 Uhr dein Datenbank Backup erstellt und automatisch (ohne Passwort Prompt) auf die Diskstation übertragen.

Dieses Howto wurde auf CentOS GNU/Linux gemacht, mit Debian sollten ebenfalls keine Anpassungen nötig sein, andernfalls wäre dein Kommentar jederzeit willkommen.

Der System crontab liegt in /etc/crontab, Du kannst auch den Befehl crontab -e verwenden oder das durch run-parts angelegte cron.daily Verzeichnis als Batch Folder verwenden.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung / 5. Anzahl Bewertungen:

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert