rsnapshot mit 2 Backups konfigurieren

  • Hallo Forengemeinschaft,
    ich hatte in einem anderen Thread verschiedene Backup-Varianten durchgesprochen und nun folgende Sicherung geplant:
    2 mal RAID1 in meinem QNAP TS-419 und zusätzlich eine externe Sicherung auf eine Festplatte.
    Der Zugriff erfolgt von den Benutzern nur über den 1. RAID-Verbund.
    rsnapshot soll jetzt Stündlich die Daten auf den anderen RAID-Verbund kopieren und einmal täglich auf die externe Platte.
    Wie kann ich das einrichten. Ich bin leider kein Linux-User und meine Kenntnisse sind daher etwas beschränkt.
    Ich habe rsnapshot schon installiert und bräuchte jetzt Hilfe, wie ich die rsnapshot.conf richtig konfiguriere. Was ich noch nicht richtig verstanden habe ist die Option

    Code
    # If no_create_root is enabled, rsnapshot will not automatically create the
    # snapshot_root directory. This is particularly useful if you are backing
    # up to removable media, such as a FireWire drive.
    #
    #no_create_root 1


    Vielleicht könnt ihr mir helfen. Ich hab auch schon im Netz gesucht, aber nichts passendes gefunden.
    Vielen Dank für eure Antworten!
    Gruß,
    nofat

  • So mit etwas Hilfe von einem Bekannten bin ich jetzt soweit, dass ich weiß, was ich einrichten muss.
    Ich muss mir 2 Cronjobs anlegen und diese rufen dann rsnapshot auf.
    Jetzt muss ich mich mit der Syntax von Cronjobs beschäftigen und wie ich ein Skript schreibe zum Aufruf von rsnapshot.
    Falls da jemand schon was hat, bin ich für jegliche Informationen weiterhin offen und empfänglich :)
    Ich werde berichten, wies weitergeht.
    Gruß,
    nofat
    //edit: achja was ich noch machen muss: 2 rsnapshot.conf-Dateien anlegen um so die Ziele für die Sicherung zu definieren!


    // Update:
    Ich kann keine 2 rsnapshot.conf Dateien anlegen, da ich nicht weiß mit welchem Parameter ich rsnapshot starten kann um eine andere Konfiguration laufen zu lassen.
    Hat jemand dafür eine Idee? Ein Skript wäre dann glaube ich nicht das Problem.
    Zweite Frage: Wieso gibt es in der rsnapshot.conf die backup_intervall Einstellungen, wenn ich das mit Crontab ausführe um dort auch die Intervallangaben einzufügen. Ist die Einstellung in der conf-Datei nur dazu da um die Ordner der snapshots zu spezifizieren und mit Crontab wird wirklich ein snapshot ausgeführt?
    Ich hoffe ihr versteht was ich meine.

  • Hi,


    nur eine kurze Anmerkung, bei rsnapshot kannst du doch einfach über -c eine alternative Konfigurationsdatei angeben. Weiter ist der interval-Paramter etwas verwirrend, er gibt nicht an wie oft bzw. wann ein Backup gemacht werden soll sondern gibt nur an welches Backup das ist und wie viele Backupebenen behalten werden. Die angabe von Interval ist auch veraltet, der neue und besser benannte Parameter dafür ist retain. Siehe man-pages zu rsnapshot!


    Also über retain (bzw interval) konfigurierst du die Backups und für jedes davon muss ein entsprechender cronjob angelegt werden.

  • Hi Ryel,
    das wäre ja noch einfacher, dann muss ich keine Scripte schreiben.
    Kann ich dann im Crontab, sowas angeben:

    Code
    0 */1 * * * /opt/bin/rsnapshot -c rsnapshot1.conf hourly
    30 21 * * * /opt/bin/rsnapshot -c rsnapshot2.conf daily


    ?
    Wenn ich das richtig verstanden habe, dann würde die erste Zeile jede Stunde ausgeführt werden. Wenn in der rsnapshot1.conf folgendes steht:
    interval hourly 6
    Dann behält er 6 snapshots?
    In der rsnapshot2.conf würde dann drinstehen:
    intervall daily **
    Wobei ** für die snapshots steht die ich aufheben möchte, wenn ich also die letzten 10 Tage abfragen möchte, dann steht dort eine 10 und rsnapshot erzeugt insgesamt 10 Ordner, korrekt? Ausführen würde er die zweite Zeile um 21:30 Uhr?
    Danke fürs lesen und weiterhelfen!!!
    Gruß,
    nofat
    //Nachtrag:
    Mich wunderts, dass in meiner rsnapshot.conf intervall noch drinsteht, wenn das doch veraltet ist?
    Wenn ich aber retain in der conf-Datei eingegeben habe, muss ich dann im Crontab daily bzw. hourly mit angeben?


  • Das hast du alles richtig verstanden. Dein erster cronjob wird jede Stunde ausgeführt und der zweite jeden tag um 21:30. Mit der angegebenen Konfiguration legt rsnapshot beim "hourly" die Verzeichnisse /hourly.{1,2,3,4,5,6} auf dem Zieldatenträger an, wobei /hourly.6 das älteste und /hourly.0 das aktuellste ist. Bei jedem neuen Aufruf wird dann /hourly.6 gelöscht und der Rest um eins verschoben.
    Das gleiche für "daily", abhängig von der Anzahl der Backupebenen. Du solltest aber noch die Konfigurationsdateien mit dem vollständigen Pfad angeben! Sicher ist sicher.


    Ich habe gerade nur die man pages der aktuellen rsnapshot Version hier, da steht folgendes:


    Zitat von "man rsnapshot"


    retain [name] [number]


    ``name'' refers to the name of this backup level (e.g., hourly, daily, so also called the 'interval'). ``number'' is the number of snapshots for this type of interval that will be retained. The value of ``name'' will be the command passed to rsnapshot to perform this type of backup.


    A deprecated alias for 'retain' is 'interval'.


    Wichtig ist der letzte Satz. Jetzt weiß ich nicht, wie aktuell die rsnapshot Version ist, die auf deinem NAS läuft. Ich denke mal, du hast die über IPKG installiert, oder?

  • Super danke für deine Hilfe.
    Ja ich habe rsnapshot letzte Woche installiert. Deswegen bin ich ein wenig verwundert mit dem retain.
    Ich werds einfach mal testen. Melde mich nachher, wenn ich alles getestet habe.
    Ach doch noch eine Frage:
    Ich werde mein NAS nicht dauerhaft laufen lassen, sondern nur von 9-22 Uhr, gibt es da Probleme mit dem Crontab?
    Gruß,
    nofat


  • Für sowas gib es ja das Forum :thumb:


    Leider gibt es da noch Probleme mit den cronjobs, wenn dein NAS nicht die ganze Zeit an ist. Bei jedem Neustart wird wir crontab Datei wieder auf "Auslieferungszustand" gesetzt. Du musst also dafür sorgen, dass deine Änderungen bei einem Neustart mittels autorun.sh wieder in die crontab geschrieben werden. Also sowas wie:

    Code
    echo "* */1 * * * rsnapshot -c configfile hourly" >> /etc/crontab


    Und dann die crontab neu einlesen:

    Code
    crontab /etc/crontab


    Oder so machen, wie im Qnap-Wiki beschrieben: Add_items_to_crontab

  • So ich habs gerade getestet per Handaufruf, jetzt muss ich mal abwarten, ob er das auch automatisch macht...
    So per Crontab tut sich auch was, nur was mich wundert: Das ist kein Inkrementelles Backup: Ich habe gerade mal ein paar Daten hinzugefügt und schon habe ich 2 Ordner hourly.0 und hourly.1, die beide gleich gross sind und die gleichen Daten enthalten.
    Ich dachte der sichert nur Änderungen.
    Wo ist der Fehler?
    Danke für eure Hilfe.

  • rsnapshot macht die Backups ja mit Hardlinks, also solange sich eine Datei nicht ändert wirst du sie in jedem der /hourly Verzeichnisse sehen. Das sind jeweils nur Links auf die Datei, nicht jedesmal die Datei selbst. Neue Dateien sollten aber nur ab dann in den jeweiligen /hourly.{1..x} Verzeichnissen auftauchen, wenn sie beim jeweiligen Backuplauf schon vorhanden waren.

  • Hm... Filesystem sieht das etwas anders.
    Belegt sind inzwischen fast 1,5 GB wobei nur 240MB Daten vorhanden sind. Die letzten 3 Sicherung jeweils 240MB, obwohl sich nichts geändert hat.
    Hab das NAS gerade kalt gestartet zwischen 2 Jobs und in der Crontab sind die Einträge noch vorhanden. Jetzt muss ich noch ne halbe Stunde auf das nächste Backup warten, mal sehen was passiert.
    Sonst scheint das erstmal zu funktionieren.
    Vielen Dank für deine Unterstützung.
    Gruß,
    nofat
    //Nachtrag:
    Backup hat funktioniert. Alles in Ordnung, werde das NAS jetzt nochmal kalt starten und dann die Automatische Ein-/Ausschalt Routine wieder einrichten.
    Mal sehen, obs morgen dann auch noch funktioniert.
    So Getestet nach 2 Neustarts ist der Crontab immernoch aktuell. Habe jetzt die Neustart-Routine so eingerichtet, dass die sich nicht in die Quere kommen (mehr als 20 Minuten Abstand) und dann schau ich morgen mal weiter...

  • Ist das Platzproblem auch gelöst?


    Eigentlich sollte sich bei drei Backups, wo sich keine Daten geändert haben, nicht viel am belegten Platz auf der Festplatte ändern. Wie gesagt, rsnapshot macht sowas dann über Hardlinks.

  • Zitat von "nofatchicken"


    Ich habe gerade mal ein paar Daten hinzugefügt und schon habe ich 2 Ordner hourly.0 und hourly.1, die beide gleich gross sind und die gleichen Daten enthalten.
    Ich dachte der sichert nur Änderungen.
    Wo ist der Fehler?
    Danke für eure Hilfe.


    Hi,


    wie stellst du denn die Ordnergröße fest? Ist eigentlich auch egal, denn der einzig richtige Weg ist:

    Code
    rsnapshot -c rsnapshot1 du


    Alles andere zeigt immer gleich große Ordner an, das hat etwas mit den Hardlinks zu tun.

  • Hi frosch2,
    ich habe erst morgen wieder Zugang zum NAS. Bisher habe ich die Größe des Ordners über NFS und im Web File Manager gesichtet.
    Da waren es 1,79 GB.
    Wie mache ich es richtig mit der Anordnung der Befehle:
    rsnapshot -c [Dateipfad zur .conf] hourly du ?
    Danke für deine Antwort.
    Gruß,
    nofat

  • Also wenn du nur die Größenangaben per NFS und File Manager angeschaut hast, dann sind die _nicht_ die wirklichen Angaben bezüglich des Platzverbrauchs!


    Wie schon gesagt wurde, mittels "du" Kommando von rsnapshot kannst du dir anzeigen lassen, wie viel Platz wirklich belegt ist. Dabei nicht den Backup-namen wie hourly angeben!


    Einfach:

    Code
    rsnapshot -c conf du


    Das zeigt dir dann an, wie der Platzbedarf im Backup-Root aussieht.

  • Zitat von "nofatchicken"


    Wie mache ich es richtig mit der Anordnung der Befehle:
    rsnapshot -c [Dateipfad zur .conf] hourly du ?


    Öhm, was verstehst du an meinem Post nicht, steht doch alles da. :roll:
    Lass das hourly weg und gut ist.

  • Sorry, habs wirklich nicht gecheckt gehabt.
    Werds nachher ausprobieren.
    Danke für die Nachhilfe ;)
    //Nachtrag: Platz exakt wie gedacht... Je Sicherungskonfiguration 241 MB bei 240MB vorhandenen Daten.
    Passt also wunderbar.
    Hatte eine Einstellung für den Neustart falsch, die jetzt aber wieder drin ist und auch im Crontab werden Start und Herunterfahren angezeigt. Mal schauen wie stabil das ganze jetzt läuft.
    Gruß,
    nofat

  • So nach langer Zeit melde ich mich mal wieder.
    Und zwar habe ich ein Problem mit dem monatlichem Backup. Nachdem das ganze ja schon ne Weile stabil läuft, dachte ich mir, dass ich auch ein monatliches Backup einrichten sollte. Also in der richtigen conf-Datei einfach retain 12 hinzugefügt. Syntax gecheckt und war ok. (Hab da nen Tabulator benutzt). Wenn ich das jetzt per Hand ausführen will indem ich rsnapshot -c /PFad/ monthly aufrufe, dann erhalte ich kein Backup. Also in die LogDatei gesehen.

    Code
    [18/Aug/2010:11:31:06] /opt/bin/rsnapshot -c /share/MD0_DATA/.qpkg/Optware/etc/confs/config2/rsnapshot.conf monthly: started
    [18/Aug/2010:11:31:06] echo 5869 > /opt/var/run/rsnapshot.pid
    [18/Aug/2010:11:31:06] mv /share/external/sdza1/snapshots/daily.29/ /share/external/sdza1/snapshots/monthly.0/
    [18/Aug/2010:11:31:06] rm -f /opt/var/run/rsnapshot.pid
    [18/Aug/2010:11:31:06] /opt/bin/rsnapshot -c /share/MD0_DATA/.qpkg/Optware/etc/confs/config2/rsnapshot.conf monthly: completed successfully


    und da frage ich mich, was der Spaß bitte soll? Warum löscht er jetzt daily.29?
    Vielleicht habe ich den Unterschied zwischen intervall und retain nicht verstanden? Danke für eure Hilfe.
    Gruß nofat!

  • Vielleicht solltest du es mal mit

    Code
    retain monthly 12


    versuchen.


    Es gibt keinen Unterschied zwischen interval und retain, interval ist alte Name, retain die neue Bezeichnung.

  • Sorry da hab ich mich hier falsch ausgedrückt.
    Ich habe natürlich retain monthly 12 eingetragen. Sonst wäre die Syntax auch nicht ok gewesen.
    Entschuldigung.

  • Mal in kurzer Auszug aus der manpage von rsnapshot, ich denke dies beschriebt dein Problem:



    Also Backups mit einen geringen Intervall werden nicht neu erstellt sondern es wird einfach ein Backup mit einem hohen Intervall genommen.