Trotz des Einsatzes eines NAS ist es natürlich zwingend erforderlich regelmäßig die Daten zu sichern. Synology bietet bereits unter DSM eine eigene Backuplösung an. Des Weiteren gibt es auch ein Add-on-Paket namens Time Backup (deu: Datensicherungszeit) von Synology als Datensicherungslösung. Leider haben mir beide Lösungen aus unterschiedlichsten Gründen nicht wirklich gefallen.

Um nur einige zu nennen:

– Abhängigkeit des Herstellers
– Beschränkung der Anzahl der Datensicherungsaufgaben (je nach NAS-System)
– Dateisystembeschränkungen der Backup-Software (z. B. bei NTFS)
– Backup in Unterordner
– Komprimierung der Daten

usw…..

Deshalb habe ich mich dazu entschlossen, ein eigenes kleines Shell-Script zu basteln, mit dem ich meine Daten vom NAS auf eine externe Festplatte sichern kann. Natürlich wollte ich euch das Script nicht vorenthalten, vielleicht kann es der eine oder andere gebrauchen.

ANFORDERUNGEN

Damit das Script funktioniert sind folgende Programme notzwendig
– RSYNC: Führt die Backupaufgabe durch
– NAIL: Versendet die Status-Mails
– TAR mit GZIP: Komprimiert die zu sichernden Dateinen

KONFIGURATION

Bevor das Backup über dieses Script gestartet werden kann muss noch einiges konfiguriert werden.

backup-script.sh
Dies ist das eigentliche Backup-Script in dem folgende Einstellungen vorgenommen werden müssen:

  • ROOT_DIR: Hier muss der Pfad für den Haupt-Backup-Ordner eingetragen werden
  • MAIL_TO: E-Mailadresse zu der die Statusmails versendet werden sollen

backup-script-files.properties
In diesem Script werden die Pfade eingetragen, die gesichert werden sollen.

Die Struktur dieser Datei muss wie folgt aussehen.

#SOURCE PATH    | BACKUP PATH   | OPTIONS (OPTIONAL)
[weekly]
/volume1/apps/	|  apps	        |  compress 

Die einzelnen Parameter wurden durch das Pipe-Zeichen „|“ getrennt.

/volume1/apps/
Quell-Ordner welcher komplett gesichert werden soll
apps
Backup-Ordner relativ zum Haupt-Backup-Ordner in dem der Qull-Ordner gesichert wird
compress
Dieser optionale Parameter bewirkt, dass der Ordner als komprimiertes tar.gz Archiv abgespeichert wird.

Die Ordner können in 3 Bereiche aufgeteilt werden:
[daily] [weekly] [monthly]
Je nachdem mit welchem Startparameter das Backup-Script gestartet wird, werden nur die entsprechenden Ordner der einzelnen Bereiche gesichert.
Somit können dann z. B. über Cronjobs täglich, wöchentlich und monatlich unterschiedliche Ordner gesichert werden

Status-Mails
Status-Mails werden über Nail versendet! Dies muss auf dem System installiert sein
siehe: Synology Diskstation – Mails über SMTP per Konsole versenden (mittels Nail)

Script starten

Um das Backup-Script zu starten muss die SH Datei mit dem entsprechenden Startparmeter gestartet werden.

./backup-script.sh weekly

Um die Ausgabe zusätzlich direkt in eine Log-Datei zu schreiben kann folgender Aufruf-Befehl verwendet werden.

./backup-script.sh weekly >> /var/log/backup-script-weekly.log 2>&1

Dies ist z. B. dann sinnvoll, wenn das Script über einen Cronjob gestartet wird.

Script herunterladen

Diskstation RSync Backup Script – Version 1.0.0

Shell Backup Script mit rsync für die Synology Diskstation

Schreibe einen Kommentar

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