Benutzerfreundliche Anleitung zum Backup mit rsnapshot + DSM-Benachrichtigungen

Status
Für weitere Antworten geschlossen.

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Hallo liebe Synology-Forenmitglieder.

Einleitungs-Geschwafel: wer nur eine Lösung für seine Fragen sucht möge diese Absätze einfach überspringen :p
Nachdem ich jetzt bereits in zahlreichen Threads - meist erfolgreich - um Hilfe gebeten hatte, dachte ich mir, dass es an der Zeit wird, auch mal etwas Hilfe bzw. Wissen meinerseits beizusteuern. Das versuche ich jetzt in diesem Thema.

Ich habe mich in den vergangenen Wochen immer wieder mit Möglichkeiten zu (fortgeschrittenen / besseren) Backup-Strategien beschäftigt. Mit den grafischen Bordmitteln des jetzigen DiskStationManagers (DSM 5.1) bin ich aber leider nie so richtig warm geworden, auch wenn ich sie über die vergangenen Monate im Einsatz hatte.
Beim Hauseigenen Data Repicator hat mir eine anständige Möglichkeit zur Versionierung / Versions-Verwaltung von Backups gefehlt, bei TimeBackup gibt es zwar etwas derartiges, aber - wie ich finde - absolut benutzer-unfreundlich, nicht für effizientes Arbeiten geeignet und zudem mit einer Zahl von Einstellungsmöglichkeiten die stark gegen Null geht.

Wer wie ich also nach Alternativen sucht, der stößt fast unweigerlich auf eine Anwendung namens "rsnapshot". Für diese existiert meines Wissens keine graphische Oberfläche, aber das macht sie um so effizienter und sie strotzt geradezu vor Einstellungsmöglichkeiten. Da aber nicht jeder DS-Benutzer - genau wie ich - profundes Wissen in jeder technischen Hinsicht hat, kann das am Anfang auch etwas überfordern.

Ich benutze derzeit bei weitem nicht alle Möglichkeiten, die rsnapshot bietet. Aber für meine Zwecke - und vermutlich auch die vieler anderer - ist es zufriedenstellend. Und damit ihr das auch alle so nachmachen könnt, wenn ihr das gerne wollt, dokumentiere ich hier jetzt einfach mal alle Schritte, die ich vollzogen habe.

Ich kann natürlich weder garantieren, dass das bei euch 1:1 so funktionieren wird, noch, dass dabei nicht sogar etwas schief geht. Getestet habe ich es auf einer DS415+ mit dem DSM 5.1. Außerdem kann es gut sein, dass meine Arbeitsweise an einigen oder sogar allen Stellen nicht optimal ist - in diesem Fall dürfen Verbesserungsvorschläge gerne eingebracht werden, davon habe ich dann ja auch etwas!

Ich weiß, dass man sich diese ganzen nachfolgenden Informationen auch selbst zusammensuchen könnte. Aber ich habe dafür eine menge Zeit gebraucht, bis ich alles beisammen hatte. Deshalb wollte ich es für zukünftig Interessierte hier zusammenfassen.



Los geht's!

Schritt 1: rsnapshot installieren

Um rsnapshot installieren zu können, benötigt ihr zwei Dinge: zum einen die Möglichkeit, per SSH auf eure DiskStation (im Folgenden nur "DS") zugreifen zu können (siehe Synology-Wiki). Zum anderen benötigt ihr das Paket ipkg, das die Installation von rsnapshot übernimmt. Da die automatische Installation von ipkg mit dem aktuellen DiskStationManager (im Folgenden nur "DSM") nicht (mehr) möglich ist, müsst ihr es manuell installieren - das ist aber gar nicht schwer (siehe Synology-Wiki).

Jetzt könnt ihr das eigentliche Paket, rsnapshot, installieren. Dazu gebt ihr in der Kommandozeile einfach die folgenden Befehle hintereinander ein:
Rich (BBCode):
ipkg update
ipkg install rsnapshot

Jetzt ist rsnapshot auf eurer DS installiert. Glückwunsch!


Schritt 2: rsnapshot konfigurieren

Natürlich müsst ihr rsnapshot nun noch an eure persönlichen Bedürfnisse anpassen. Die Konfigurations-Datei von rsnapshot befindet sich standardmäßig unter /opt/etc/rsnapshot.conf.

Am "einfachsten" ist es, zum Bearbeiten der Datei den bereits Installierten - sehr mächtigen - Editor namens "vi" zu verwenden. Auch hierzu finden sich gute Grundlagen-Informationen im Synology-Wiki (oder natürlich auch sonst überall im Netz, Google ist hier euer Freund).
Wem das zu kompliziert ist - was keine Schande ist :) - der kann es sich auch einfacher machen, indem er die Datei einfach auf seinen Rechner oder in einen der regulären gemeinsamen Ordner der DS kopiert, dort auf sie mit einem beliebigen Editor zugreift und sie bearbeitet und sie anschließend wieder nach /opt/etc/rsnapshot.conf zurück-kopiert. Das Kopieren könnte, wenn euer Benutzer auf der DS "mustermann" heißt, z.B. wie folgt aussehen:
Rich (BBCode):
cp /opt/etc/rsnapshot.conf /volume1/homes/mustermann/
Dann liegt die Datei in eurem Verzeichnis und ihr könnt u.a. über die File Station darauf zugreifen.

Bezüglich der konkreten Änderungen solltet ihr euch als erstes insbesondere die folgenden Einträge in der rsnapshot.conf Datei ansehen und nach euren Wünschen modifizieren:

  • snapshot_root: Der hier angegebene Pfad ist der Ort, wo eure Backups hin gesichert werden sollen. Bei mir ist das eine externe USB-Festplatte, der Pfad lautet bei mir demnach /volumeUSB1/usbshare/DiskStation_Backup, wobei "DiskStation_Backup" der Name des Verzeichnisses auf der USB-Festplatte ist (dieses solltet ihr vor dem Backup auf der Festplatte anlegen).
  • no_create_root: Gerade wenn ihr auch ein USB-Medium als Sicherungsziel wählt, solltet ihr den Wert hier unbedingt auf 1 setzen. Das hindert rsnapshot daran, das Verzeichnis, das ihr bei "snapshot_root" festgelegt habt, (auch dann) zu erstellen, wenn das USB-Medium gar nicht an der DS angeschlossen sein sollte.
Achtet hierbei darauf, zwischen den Optionen und deren Werten keine Leerzeichen sondern nur Tabulatoren einzusetzen (also z.B. snapshot_root[TAB]/volumeUSB1/usbshare/DiskStation_Backup/, wobei ihr natürlich nicht [TAB] schreibt sondern an dieser Stelle die Tabulator-Taste auf eurer Tastatur drückt). Anderenfalls spielt der Syntax von rsnapshot nicht mit.


Des weiteren müssen noch folgende Optionen in der Datei angepasst werden.

interval: die Bezeichnung mag etwas verwirrend sein. Es handelt sich hierbei nicht um die Möglichkeit zur Einstellung, wie oft das Backup ausgeführt werden soll. Statt dessen legt man hier fest, wie viele Versionen der jeweiligen (täglichen, wöchentlichen etc.) Backups behalten werden sollen, bevor sie wieder gelöscht werden (weil neuere Versionen als Backup existieren).

Beispielhaft mal meine derzeitige Konfiguration:
Rich (BBCode):
interval	hourly	2
interval	daily	7
interval	weekly	4
interval	monthly	12
interval	yearly	2
D.h. bei mir werden die letzten beiden stunden-basierten Backups behalten, die Backups der letzten 7 Tage, die Backups der letzten vier Wochen etc.
Eine allgemeine Syntax-Info an dieser Stelle: Zeilen, die mit einem # beginnen, sind sog. Kommentare und werden nicht als Befehl ausgeführt (sie dienen meist, wie vielerorts auch in dieser Datei, zur Dokumentation und Erklärung von Optionen). Wenn ihr also z.B. keine der yearly-Backups behalten wollt, dann kommentiert die Zeile einfach mit einem # am Zeilenanfang aus.


backup: hier gebt ihr an, welche Verzeichnisse gesichert werden sollen. Auch hierzu wieder beispielhaft einige Einträge bei mir + Erklärung:
Rich (BBCode):
backup	/volume1/ebooks/	./
backup	/volume1/homes/		./
backup	/volume1/music/		./
backup	/volume1/photo/		./
Hierbei würden alle genannten Verzeichnisse (ebooks, homes, music & photo) direkt in den oben festgelegten (snapshot_root) Backup-Ordner gesichert werden. Wenn ihr einige oder alle der Ordner in weitere Unterordner des Backup-Ordners sichern wolltet, könntet ihr in den Zeilen den Eintrag "./" entsprechend anpassen, z.B.
Rich (BBCode):
backup	/volume1/ebooks/	./ebooks/


Im Groben und ganzen war es dann eigentlich schon fast; also durchhalten, es dauert nicht mehr lange!


Schritt 3: Syntax der Konfigurationsdatei überprüfen
Es ist eine gute Idee, an dieser Stelle zur Sicherheit kurz zu überprüfen, ob ihr nicht ausversehen doch mal ein Leerzeichen statt einem Tabulator oder sonst einen Syntaxfehler in die Datei eingebaut habt. Testen könnt ihr das in der Kommandozeile mit folgendem Befehl:
Rich (BBCode):
/opt/bin/rsnapshot configtest
Dabei sollte hoffentlich ausgegeben werden "Syntax OK", dann hat alles geklappt.


Weiter geht es im nächsten Beitrag...
 

Anhänge

  • rsnapshot-weekly01.png
    rsnapshot-weekly01.png
    25,2 KB · Aufrufe: 722
  • rsnapshot-weekly02.png
    rsnapshot-weekly02.png
    28,6 KB · Aufrufe: 714
  • rsnapshot-weekly.txt
    577 Bytes · Aufrufe: 37
  • rsnapshot-weekly-notification-script.png
    rsnapshot-weekly-notification-script.png
    23,8 KB · Aufrufe: 709
Zuletzt bearbeitet:

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Schritt 4: Ausführung von rsnapshot + Intervall-Einstellungen
Jetzt müssen wir der DS nur noch beibringen, das Backup auch auszuführen.

Vielerorts wird nun einfach ein entsprechender Eintrag in cron (Erklärung u.a. im Synology-Wiki) angelegt; und daran ist auch überhaupt nichts verkehrt. Ich - und vermutlich viele andere nicht so sehr in der Kommandozeilen-Welt bewanderte Nutzer - bevorzuge es aber, das mittels dem DSM im Browser zu erledigen. Das "Aufgaben"-Modul macht nämlich nichts anderes, als ebenfalls Einträge bei Cron zu hinterlegen (dass dem so ist kann man leicht erkennen, wenn man einen Blick in die Datei von Cron - crontab - wirft: dort findet man an vielen Stellen die Befehle, die man bereits im Aufgaben-Modul hinterlegt hat (wie z.B. das automatische starten und herunterfahren der DiskStation o.ä.)).

Der direkteste Weg zum Ziel - Ausführen der Backups - wäre nun, für jede Backup-Kategorie (hourly, daily, weekly etc.) einfach eine Aufgabe als "Benutzerdefiniertes Skript" via dem DSM zu erstellen. Das könnt ihr auch einfach machen und dort einen Eintrag mit /opt/bin/rsnapshot weekly (oder eben daily, monthly oder was auch immer) anlegen:
Anhang anzeigen 21967

Bei dem Zeitplan ist es dabei empfohlen und sehr sinnvoll, diesen an das Anzupassen, was man in der Konfigurationsdatei als "interval" hinterlegt hat. Das ist am ehesten anhand von Beispielen verständlich.

Bei mir werden 4 der weekly-Backups aufgehoben. Wenn ich nun in den Aufgaben einstelle, dass das weekly-Backup 1x pro Woche laufen soll, dann reicht die Historie meiner weekly-Backups genau 4 Wochen zurück. Würde ich das weekly-Backup nur 1x alle zwei Wochen laufen lassen, dann würde die Historie 8 Wochen zurück reichen - aber eben in größeren Schritten, d.h. man hat nur von jeder zweiten Woche ein Backup, auf das man zurückgreifen kann im Notfall.
Sinnvoll wären also folgende Einstellungen im konkreten Fall:
Anhang anzeigen 21968

Als weitere Beispiele hier noch, wie oft ich meine Aufgaben laufen lasse bei den obigen interval-Einstellungen:
hourly => läuft 2x pro Tag, morgens und abends
daily => läuft 1x pro Tag, am späten Vormittag
weekly => läuft 1x pro Woche, am Sonntag
monthly => läuft 1x pro Monat, immer am 1. des Monats
yearly => läuft 1x pro Jahr, am 1. Januar


Anmerkung: Für den ersten Backup-Lauf würde ich euch empfehlen, diesen manuell in der Kommandozeile per SSH vorzunehmen. Denn dieser dauert meist sehr lange (je nach Datenmenge) und außerdem könnt ihr dann auch gleich sehen, was passiert und ob evtl. etwas schief läuft. Dazu gebt ihr einfach das entsprechende Kommando ein (z.B. wieder /opt/bin/rsnapshot weekly).


Schritt 5 (optional): DSM-Benachrichtigung einrichten
Wenn ihr die Schritte 1-4 befolgt habt, dann sollte eigentlich alles schon korrekt funktionieren und ihr könnt euch entspannt zurücklehnen. Aber sind wir mal ehrlich: Im Leben läuft doch selten alles 100% glatt. Und gerade NAS-Besitzer wie Besitzer einer Synology DiskStation gehören oft zu denjenigen, die sich Sorgen um ihre Daten machen (und deshalb Funktionen wie RAID schätzen, was ja gerade ein NAS so attraktiv macht). Und weil ich auch zu diesen Personen gehöre, würde ich eigentlich auch ganz gerne mitbekommen, ob denn alles rund läuft, oder ob bei meinen Backups etwa Probleme auftreten; dann müsste ich mich ja schnell darum kümmern, um die Datensicherheit zu gewährleisten.

So wie es bisher eingerichtet wurde, verrichtet rsnapshot sein Werk aber stillschweigend, ohne uns etwas davon großartig etwas mitzuteilen (außer dass vielleicht ab und an während dem Backup die CPU-Last der DS etwas nach oben geht).

Aus diesem Grund wollte ich mir auf meiner DS im DSM gerne eine Benachrichtigung anzeigen lassen, wenn das Backup geklappt oder - noch viel wichtiger - wenn es nicht geklappt hat. Im Internet findet man dazu zahlreiche Feature-Requests, die bei Synology darum bitten, man möge das doch endlich implementieren. Und obwohl eine graphische Oberfläche hierfür bisher noch fehlt, ist es per Kommandozeile schon längst möglich, dies zu realisieren.

Der Syntax in der Kommandozeile, um sich eine solche Benachrichtigung / Notification oben rechts zusammen mit allen anderen Benachrichtigungen anzeigen zu lassen, ist der folgende:
Rich (BBCode):
synodsmnotify @GRUPPE/BENUTZER "Betreff" "Inhalt"

Beispiel:
Rich (BBCode):
synodsmnotify @administrators "Test" "Diese Benachrichtigung soll zeigen, ob das Tool funktioniert"
Das sendet eine Benachrichtigung in die DSM aller Administratoren der DS.


Damit wir aber nicht nur eine Test-Benachrichtigung senden können, sondern diese auch tatsächlich eine hilfreiche Aussage hat, müssen wir es noch schaffen, die Antwort auf die Frage, ob bei dem Backup mit rsnapshot alles geklappt hat, in diese Benachrichtigung zu verpacken.

Sehr hilfreich hierbei sind sog. "exit values" (oder auch "exit codes"). Solche sind glücklicherweise auch bereits in rsnapshot implementiert: rsnapshot exit values.
Wenn rsnapshot den Wert "0" ausgibt hat alles geklappt, bei "1" ist eine Katastrophe geschehen und bei "2" ist der Befehl zwar durchgelaufen, aber irgendwie lief dabei doch nicht alles ganz rund und man sollte sich den Log der Datei doch mal ansehen, damit es in Zukunft nicht noch schlimmer wird oder gar jetzt schon wichtige Daten nicht gesichert wurden.

Aber wie bekommen wir das jetzt in eine Benachrichtigung verpackt? Ich erspare euch die Einzelheiten zum Syntax und ähnlichem, sondern präsentiere euch einfach meine Lösung:
Rich (BBCode):
# save the exit code in a variable
status=$?                         
         
# test status and make it human readable
if [ $status -eq 0 ]                    
then                
        statusmessage="All operations completed successfully"
elif [ $status -eq 1 ]                                       
then                  
        statusmessage="A fatal error occurred"
elif [ $status -eq 2 ]                        
then                                                                         
        statusmessage="Some warnings occurred, but the backup still finished"
else                                                                         
        statusmessage="An error occured in the execution of the shell script"
fi
Dieses Skript (bzw. dieser Teil davon) überprüft nach dem Ausführen von rsnapshot, was dabei herausgekommen ist und übergibt das Ergebnis in schönerer Form (als Satz) an eine Variable ("statusmessage").


Setzt man alles, was wir benötigen, zusammen, kommt folgendes Skript dabei heraus:

Rich (BBCode):
#!/bin/sh

# run rsnapshot
/opt/bin/rsnapshot weekly

# save the exit code in a variable
status=$?

# test status and make it human readable
if [ $status -eq 0 ]
then
	statusmessage="All operations completed successfully"
elif [ $status -eq 1 ]
then
	statusmessage="A fatal error occurred"
elif [ $status -eq 2 ]
then
	statusmessage="Some warnings occurred, but the backup still finished"
else
	statusmessage="An error occured in the execution of the shell script"
fi

# send notification to DSM Administrators
synodsmnotify @administrators "rsnapshot weekly" "$statusmessage"
Diese Datei habe ich euch, um es einfacher zu machen und Syntaxfehler, die bei Copy&Paste oft entstehen, zu vermeiden, hier auch zur Verfügung gestellt:
Anhang anzeigen 21969

Ladet sie euch herunter, benennt die Endung von .txt in .sh um (eine .sh Datei kann man hier im Forum nicht hochladen) und packt sie auf eure DS (z.B. wieder in euer home-Verzeichnis). Dabei müsst ihr natürlich, wenn ihr nicht das weekly-Backup wie hier im Beispiel, sondern z.B. das hourly-Backup ausführen wollt, die Datei unter einem anderen Namen abspeichern und in der Datei die zwei "weekly"-Einträge (in der 4. und letzten Zeile) durch "hourly" ersetzen.


Jetzt fehlt nur noch ein Schritt: wir müssen die Aufgabe(n), die wir in Schritt 4 erstellt haben, anpassen. Wenn ihr die rsnapshot-weekly.sh in euer home-Verzeichnis der DS - wieder mit dem Benutzer mustermann als Beispiel - abgelegt habt, dann müsst ihr in der Aufgabe nun folgendes eintragen (und das ganze jeweils auch für daily, hourly, monthly, yearly, je nachdem, welche ihr aktiv habt, ändern, nachdem ihr die hierfür passenden Dateien erstellt habt - hierzu siehe der vorherige Absatz):
Rich (BBCode):
sh /volume1/homes/mustermann/rsnapshot-weekly.sh
Anhang anzeigen 21970


Fertig!
Glückwunsch, ihr habt diese doch etwas längere Anleitung erfolgreich geschafft. Ich hoffe, bei euch läuft soweit alles und ihr könnt dank der besseren Backups mit rsnapshot nun ruhiger schlafen :D

Wenn Probleme auftreten sollten, dann dürft ihr diese natürlich gerne in diesem Thread beschreiben. Vielleicht kann ich oder sonst bestimmt eines der anderen Forenmitglieder - die viel mehr auf dem Kasten haben als ich - euch dann weiterhelfen.

Wie eingangs bereits erwähnt sind auch jegliche Verbesserungsvorschläge zu dem von mir beschriebenen Workflow herzlich willkommen!


Nachwort: Ich würde euch dringend raten, auch noch selber ein bisschen in den verschiedenen Wiki-Einträgen und mit Hilfe von Google im Internet zu diesem Thema zu stöbern. Mit dem, was ich bisher geschrieben habe, sollte zwar eigentlich alles klappen. Aber mehr Hintergrund-Wissen schadet nie. Und gerade die Optionen in der Konfigurations-Datei sind noch lange nicht ausgereizt; ich habe euch hier nur die Basics vorgestellt. Viel Spaß beim Erkunden der weiteren Möglichkeiten!


Gruß
 
Zuletzt bearbeitet:

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.900
Punkte für Reaktionen
1.179
Punkte
754
Großartig, vielen Dank für die tolle Arbeit! Kannst Du vielleicht bei Gelegenheit nochmal etwas dazu sagen, wie rsnapshot die Daten speichert? Time Backup beispielsweise nutzt ja rsync und erzeugt für identische Dateien Hardlinks. Wie läuft das bei rsnapshot mit den verschiedenen Varianten daily, weekly etc? Gibts dazu gut Infos im Netz? Hast Du Dir das auf der Platte einmal genauer angesehen?
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Bei rsnapshot funktioniert das auch über hardlinks mittels rsync. Das tolle ist, dass man dadurch auch alle rsync-Optionen nutzen kann. Und auch remote Backup, also z.B. auf einen anderen Server / per SSH o.ä. ist möglich. Dazu gibt es aber glaube ich auch einiges im Netz ;)


Positiv finde ich auch, dass in den jeweiligen Verzeichnissen (hourly.0, hourly.1, daily.0 etc.) jeweils der vollständige Pfad vorzufinden ist, also beginnend mit /volume1/... - das macht ein Wiederherstellen der Dateien noch einfacher!
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.900
Punkte für Reaktionen
1.179
Punkte
754
Ausgezeichnet. Hast Du eine Ahnung, ob vor dem Backuplauf ein Snapshot angelegt wird und wenn ja, welche Technologie rsnapshot dafür nutzt? Time Backup setzt m.W. auf den device mapper.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Ausgezeichnet. Hast Du eine Ahnung, ob vor dem Backuplauf ein Snapshot angelegt wird und wenn ja, welche Technologie rsnapshot dafür nutzt? Time Backup setzt m.W. auf den device mapper.

Verstehe die Frage leider nicht so richtig... meinst du, ob und mit welcher Technologie rsnapshot - und somit rsync - zu Beginn des Vorgangs erfasst, welche Daten synchronisiert / übertragen werden müssen? (Falls ja, wäre die Antwort leider nein; weiß ich nicht)
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.900
Punkte für Reaktionen
1.179
Punkte
754
Ja, das ist in etwa meine Frage: Ein Snapshot ist ja sozusagen eine Momentaufnahme des Filesystems, so dass das Backup anschließend durch Schreibzugriffe nicht seine Konsistenz verliert. Der Device Mapper erzeugt in diesem Zusammenhang m.W. nicht nur ein Snapshot-Device sondern auch ein sogenanntes COW-Device (copy-on-write), das bis zum Abschluss des Backups und der Nutzung des Snapshots die Schreibzugriffe aufnimmt. Vielleicht könntest Du bei einem Durchlauf von rsnapshot einmal schauen, ob Du über den Befehl mount ein Device a la /dev/mapper/vol1-snap0 siehst. Time Backup erzeugt per Device Mapper genauso ein Device und mountet es auf /tmp/timebkp_<pid>/volume1.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Sieht auf den ersten Blick nicht so aus.
Rich (BBCode):
[26/Jan/2015:11:01:47] /opt/bin/rsnapshot hourly: started
[26/Jan/2015:11:01:47] Setting locale to POSIX "C"
[26/Jan/2015:11:01:47] echo 11928 > /opt/var/run/rsnapshot.pid
[26/Jan/2015:11:01:47] mv /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/ /volumeUSB1/usbshare/DiskStation_Backup/hourly.1/
[26/Jan/2015:11:01:47] mkdir -m 0755 -p /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/
[26/Jan/2015:11:01:47] /opt/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --exclude-from=/volume1/homes/mustermann/CloudStation/Dokumente/DiskStation/rsync-exclude-on-backup.txt --link-dest=/volumeUSB1/usbshare/DiskStation_Backup/hourly.1/./ /volume1/ebooks /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/./
[26/Jan/2015:11:01:48] /opt/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --exclude-from=/volume1/homes/mustermann/CloudStation/Dokumente/DiskStation/rsync-exclude-on-backup.txt --link-dest=/volumeUSB1/usbshare/DiskStation_Backup/hourly.1/./ /volume1/homes /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/./
[26/Jan/2015:11:01:53] /opt/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --exclude-from=/volume1/homes/mustermann/CloudStation/Dokumente/DiskStation/rsync-exclude-on-backup.txt --link-dest=/volumeUSB1/usbshare/DiskStation_Backup/hourly.1/./ /volume1/music /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/./
[26/Jan/2015:11:01:54] /opt/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --exclude-from=/volume1/homes/mustermann/CloudStation/Dokumente/DiskStation/rsync-exclude-on-backup.txt --link-dest=/volumeUSB1/usbshare/DiskStation_Backup/hourly.1/./ /volume1/photo /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/./
[26/Jan/2015:11:02:13] /opt/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --exclude-from=/volume1/homes/mustermann/CloudStation/Dokumente/DiskStation/rsync-exclude-on-backup.txt --link-dest=/volumeUSB1/usbshare/DiskStation_Backup/hourly.1/./ /volume1/web /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/./
[26/Jan/2015:11:02:16] touch /volumeUSB1/usbshare/DiskStation_Backup/hourly.0/
[26/Jan/2015:11:02:16] rm -f /opt/var/run/rsnapshot.pid
[26/Jan/2015:11:02:16] /opt/bin/rsnapshot hourly: completed successfully
Das ist ein Auszug aus dem Log-File mit loglevel 4 (von 5).

Ich würde es trotzdem noch nicht sofort ausschließen, da müsste man aber noch ein bisschen recherchieren...
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.900
Punkte für Reaktionen
1.179
Punkte
754
Im Logfile wirst Du das auch nicht finden. Du musst schon während des rsnapshot-Laufs das Kommando mount auf einer DS-Shell absetzen.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Im Logfile wirst Du das auch nicht finden. Du musst schon während des rsnapshot-Laufs das Kommando mount auf einer DS-Shell absetzen.

Ojeh, tut mir leid, da habe ich deine Nachricht zu schnell und damit falsch gelesen.


Also während rsnapshot läuft sieht es trotzdem nicht so aus:
Rich (BBCode):
DiskStation> mount
/dev/root on / type ext4 (defaults)
/sys on /sys type sysfs (0)
none on /dev/pts type devpts (gid=4,mode=620)
/tmp on /tmp type tmpfs (0)
/run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/shm on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
/proc/bus/usb on /proc/bus/usb type usbfs (0)
/dev/vg1/volume_1 on /volume1 type ext4 (usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl)
securityfs on /sys/kernel/security type securityfs (0)
/volume1/@optware on /opt type bind (bind)
/dev/sdq1 on /volumeUSB1/usbshare type ext4 (nodelalloc,synoacl)
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.900
Punkte für Reaktionen
1.179
Punkte
754
Danke, Du hast mir sehr geholfen. Dann werde ich mich bei Gelegenheit einmal mehr in das Thema 'reinvertiefen, um diese Frage aufklären zu können.
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Siehe "linux_lvm_..."-Optionen in der Konfiguration.

(Ansonsten werden Snapshots auch deutlich überbewertet. So lange die nicht auch mit den jeweiligen Anwendungen zusammenarbeiten, helfen sie nur bedingt. Effektiv müsste man alle Dienste / Verbindungen beenden und erst dann den Snapshot machen, wenn man ganz sicher sein möchte...)
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
rsnapshot Backup von verschlüsselten Ordnern

Für alle, die sich - wie ich bis gerade - geärgert haben, dass man verschlüsselte Ordner - z.B. den Ordner "geheim" - nicht einfach als Eintrag /volume1/geheim auch sichern kann: Der Ärger ist vollkommen unbegründet! ;)

Ich hatte erst überlegt, den Ordner einhängen zu lassen und dann das Backup zu starten.

Rich (BBCode):
mount.ecryptfs /volume1/@geheim@ /volume1/geheim -o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,key=passphrase,ecryptfs_enable_filename_crypto,passwd=PASSWORT

Dabei stört mich aber, dass das Passwort dann natürlich ständig gespeichert ist auf der DS - selbst wenn man es in eine separate Datei mit beschränkten Leserechten auslagert. Bis mir dann aufgefallen ist, dass ich den Wald vor lauter Bäumen nicht gesehen habe: beim Backup einfach nicht das Mount-Zielverzeichnis sondern den Ordner @geheim@, also /volume1/@geheim@/ angeben, und man schlägt zwei Fliegen mit einer Klappe: 1. wird das Passwort nicht als Klartext hinterlegt und 2. ist das Verzeichnis auch auf dem Backup-Medium weiterhin verschlüsselt und vor unbefugtem Zugriff halbwegs gesichert.

Die Welt kann so einfach sein :D
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Danke für diese tolle Anleitung.

Ich habe ein wenig gebraucht bis ich es hinbekommen habe.

Ständig stand dort not present (yet), nothing to copy oder eine andere Meldung.
Syntax war immer ok.

Ich musste interval hourly rausnehmen, dann ging es sofort.
Da mir aber eine tägliche Sicherung reicht ist das vollkommen okay.


Das ganze gefällt mir sehr gut und ich werde das denn statt Time Backup nutzen.

Ich habe die Zeitabstände wie du eingestellt.

daily 7, weekly 4, monthly 12, yearly 2


Jetzt erstell ich mir doch dann einfach die vier Aufgaben sprich daily 1x die Woche, weekly 1x im Monat usw. oder?
Wahrscheinlich werde ich bei weekly, monthly und yearly die Benachrichtigung mit einbauen. Bei daily lasse ich diese mal raus.


Danke dir!
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Ich habe die Zeitabstände wie du eingestellt.

daily 7, weekly 4, monthly 12, yearly 2


Jetzt erstell ich mir doch dann einfach die vier Aufgaben sprich daily 1x die Woche, weekly 1x im Monat usw. oder?
Wahrscheinlich werde ich bei weekly, monthly und yearly die Benachrichtigung mit einbauen. Bei daily lasse ich diese mal raus.


Danke dir!

Freut mich sehr, wenn ich dir weiterhelfen konnte mit der Anleitung :cool:

Ich würde daily 1x pro Tag ("täglich"), weekly 1x pro Woche ("wöchentlich") etc. laufen lassen; im prinzip sind das aber nur Namen für die jeweiligen Order in deiner Backup-Struktur (nur dass die Namen eben, wenn du daily nicht täglich ausführen lässt, nicht mehr ganz so selbsterklärend wären..., weil sich dann unter dem Ordner "daily" die wöchentlichen (also eig. weekly) Backups verbergen).


Viel Erfolg beim Setup ;)
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Ich muss mich bei dir bedanken :)
Danke auch für die schnelle Antwort.

Alles eingerichtet und getestet, läuft wie gewünscht. Das ganze sieht ziemlich praktisch aus.
Vor allem aber ist es sehr schnell.


Ja genau so wollte ich es auch haben.

daily, täglich 22 Uhr
weekly, Sonntags 0:30 Uhr
monthly, 1. des Monats 8 Uhr
yearly, 1.1 16 Uhr


Hab jetzt noch für weekly, monthly und yearly die Scripte erstellt, sodass ich die Meldungen im DSM bekommen. Das funktioniert auch 1a.


Zusätzlich läuft noch 3x die Woche ein Backup über die Datensicherung auf die andere USB Festplatte und an 3 anderen Tage ein Backup auf eine entfernte DS.
Und bei bedarf wird ein Backup per rsync auf eine HDD per eSATA kopiert.

Damit dürfte alles gut abgesichert sein und ich kann beruhigt sein.


Sollte ich irgendwann die DSM 6 Final drauf haben, wird dann wohl statt die normalen Datensicherung das neue Multiversions Backup genutzt.
 

hans-hugo

Benutzer
Mitglied seit
13. Sep 2015
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Klingt genau wie das, wonach ich suche -super!
Ein paar Verständnisfragen:
Sind die daily, weekly, ... Sicherungen jeweils eigene Datensätze oder zeigen die alle per hardlink auf die gleiche physische Datei?
Sehe ich der Sicherung (z.B weekly.1) an, von wann sie ist (Datum, Zeit)?
Gibt es pro Sicherung ein Log mit der Liste der Dateien, die als neu/geändert gesichert wurden?
Vielen Dank schonmal!
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Sind die daily, weekly, ... Sicherungen jeweils eigene Datensätze oder zeigen die alle per hardlink auf die gleiche physische Datei?
Sehe ich der Sicherung (z.B weekly.1) an, von wann sie ist (Datum, Zeit)?

Das sind hardlinks, sonst würde das ganze schnell riesige Mengen an Speicherplatz benötigen. Wer im Speichermanager von Synology mal die externe Backup-Festplatte ansieht, wird sich noch wundern, warum auf der 1TB-Festplatte plötzlich 16TB an Daten gespeichert werden können :cool:
Die Sicherungen oder deren Ordner tragen keine Namen mit Datum. Evtl. kann man das jedoch an der Änderungszeit ablesen...
Bei den Logs bin ich gerade überfragt, sorry.

Schönes Wochenende
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Generell gibt es kein Log wenn es ausgeführt wird.
https://wiki.ubuntuusers.de/rsnapshot/

Du kannst aber eventuell unter Logfile einen Pfad angeben der auch das Datum usw. enthält.

Hab gerade kein rsnapshot drauf, sonst hätte ich es getestet.


rsnapshot ist aber sehr gut für die versionierte Sicherung und ich werde es auch wieder einrichten.

Willst du auch eine nicht versionierte Filebasierte Sicherung einsetzen, kannst du dir folgendes anschauen wird auch noch weiterentwickelt.
http://www.synology-forum.de/showth...sync-Alternative-dateibasierte-Datensicherung
 

hans-hugo

Benutzer
Mitglied seit
13. Sep 2015
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Danke Psycho!
Das Projekt von Tommes hatte ich mir auch schon angesehen (super Arbeit!). Wenn das (optional) auch Versionierung könnte, hätte ich es vermutlich schon verwendet.
Was ich mir eigentlich wünsche, ist ein versioniertes Backup, in dem a) erkenntlich ist von wann ein Snapshot ist (z.B. timestamp im Ordnernamen) und es b) ein log gibt, aus dem ersichtlich wird, welche Dateien geändert wurden (was ich also auch durchsuchen kann, um festzustellen, wo ich den (vor-)letzten Stand einer Datei finde, ohne alle Ordner mühsam durchgehen zu müssen).
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat