Sie befinden sich hier: eisfair / Pack-Eis
News News News

Navigation

Content

Dateianzeige für rsnapshot (1.6.7)

usr/share/doc/rsnapshot/rsnapshot.txt
rsnapshot - Backups lokaler und entfernter Dateisysteme Stand 06.06.2022 (C) Alexander Dahl (C) Marcus Roeckrath Einleitung rsnapshot ist ein Werkzeug um Backups von lokalen oder entfernten Dateisystemen anzulegen. Es arbeitet auf der Basis von rsync und SSH und benutzt Hardlinks im Dateisystem selbst um Platz und Zeit zu sparen. Es werden sogenannte snapshots angelegt, die den Dateisysteminhalt der zu sichernden Ordner zum jeweiligen Zeitpunkt wiederspiegeln. Dabei handelt es sich um simple Kopien der zu sichernden Ordner. Um Platz zu sparen, wird die Faehigkeit von rsync verwendet, sogenannte Hardlinks fuer Dateien anzulegen, die sich seit dem letzten Backup nicht geaendert haben. Dadurch werden identische Dateien nicht doppelt kopiert und Platz und Zeit gespart. Menue View documentation Edit configuration Advanced configuration file handling View cron file View log file View usage in rsnapshot backup directory Check configuration Check configuration Check levels Hinweis Standardmaessig startet der Cronjob von updatedb (locate Datenbank) um 0:25 Uhr, waehrend die weekly, daily und hourly snapshots um 0:30 Uhr, 0:45 Uhr bzw. 1:00 Uhr starten. Hier kann es zu Ueberschneidungen zwischen updatedb und rsnapshot kommen, die dann dazu fuehren, dass updatedb bestimmte Dateien im snapshot-Verzeichnis nicht findet und eine Fehlermail versendet. Als Loesung sollte man den updatedb-Cronjob mittels dessen Konfiguration die man ueber die "System administration" findet, geeignet verschieben oder das snapshot-Verzeichnis mittels "UPDATEDB_PRUNEPATH" von updatedb ausschliessen (empfohlen). Dies bewirkt allerdings, dass die Dateien im Verzeichnis nicht mehr mittels des "locate"-Befehls gefunden werden koennen. Backup-Intervalle und Rotation rsnapshot ist an sich sehr flexibel in der Festlegung von Backup-Intervallen. Fuer dieses eisfair-Paket wurde eine als sinnvoll angenommene Organisation der moeglichen Intervalle und Intervallebenen ausgewaehlt, um dem Nutzer die manuelle Abstimmung von Intervallen und Ausfuehrungszeiten der entsprechenden Cronjobs abzunehmen. Die Zeitebenen entsprechen vertrauten Intervallen mit abnehmender Granularitaet. Im Einzelnen existieren folgende Ebenen: hourly, daily, weekly, monthly. Der Backup-Prozess laeuft so ab, dass auf der untersten Ebene 'hourly' tatsaechlich die zu sichernden Dateien kopiert werden. Dabei wird nicht strikt stuendlich gesichert, sondern nach Wahl des Nutzers alle zwei bis zwoelf Stunden. Dies wird ueber die Anzahl taeglich anzulegender Snapshots in der Variablen RSNAPSHOT_BACKUPS_PER_DAY konfiguriert. Der jeweils aktuellste Snapshot liegt im Ordner hourly.0, mit jedem weiteren Lauf werden die Snapshots rotiert. Der aelteste Snapshot der jeweiligen Ebene traegt die hoechste Nummer. Die Cronjobs der naechsthoeheren Ebene 'daily' werden nur einmal taeglich ausgefuehrt. Hier wird stets der aelteste Ordner der tieferen Ebene 'hourly' zum aktuellen Ordner daily.0. Laesst man beispielsweise sechs Backups pro Tag anlegen, wird am Ende des Tages der Ordner hourly.5 zum neuen Ordner daily.0. Die Ordner der Ebene 'daily' werden ebenso rotiert. In dieser Ebene gibt es die feste Anzahl von sieben Ordnern. Der aelteste wird an einem vom Nutzer festgelegten Wochentag zum Ordner weekly.0. Dieses Prinzip der Rotation und Verschiebung zur naechsthoeheren Ebene setzt sich weiter fort bis monthly. Das Rotationsprinzip ist unabhaengig davon ob lokale oder entfernte Ordner gesichert werden sollen. Ordner werden nur dann in eine hoehere Ebene bewegt, wenn die Vorebene vollstaendig ist, also die Zahl der eingestellten Rotationen erreicht ist. Das Verschieben eines Orcners in eine hoehere Ebene benoetigt praktisch keine Zeit, da das Verzeichnis nur umgehaengt, aber keine Daten kopiert werden. Konfiguration Wichtiger Hinweis: Sind Mount(s) oder Pre-Exec-Kommandos nicht erfolgreich, wird das Backup komplett abgebrochen, bevor rsnapshot selbst gestartet wird! START_RSNAPSHOT Zur Aktivierung des Pakets 'rsnapshot' muss diese Variable auf den Wert 'yes' gesetzt werden, der Wert 'no' deaktiviert das Paket. Der Inhalt dieser Variable bestimmt ebenfalls, ob die Cronjobs fuer 'rsnapshot' aktiviert werden oder nicht. Gueltige Werte: yes, no RSNAPSHOT_BACKUP_TO_DIR Ueber diesen Parameter wird das Verzeichnis festgelegt, in dem alle Snapshots abgelegt werden, egal ob diese vom lokalen oder von entfernten Servern stammen. Es wird empfohlen die Rechte dieses Verzeichnisses auf 0700 zu setzen. Eine ausfuehrliche Erlaeuterung dazu im Abschnitt 'Read-Only-Zugriff fuer normale User'. Gueltige Werte: vollstaendige Pfade RSNAPSHOT_BACKUP_TO_DIR_MOUNT Aktiviert das Einmounten einer Partition oder Dateisystems (ext3, ext4 oder nfs) RSNAPSHOT_BACKUP_TO_DIR als Backaupziel. Schlaegt der Mount fehl, wird rsnapshot sofort abgebrochen. Es empfiehlt sich dringend, als Mountpoint ein nur fuer diesen Zweck reserviertes Verzeichnis zu benutzen. Gueltige Werte: yes, no RSNAPSHOT_BACKUP_TO_DIR_MOUNT_SOURCE Ueber diesen Parameter wird die Partition oder Dateisystem angegeben, welches nach RSNAPSHOT_BACKUP_TO_DIR gemountet werden soll. Im Falle von an USB angeschlossenen Laufwerken muessen die notwendigen Treiber geladen sein. Gueltige Werte: lokales Device z. B. /dev/sdd1 NFS-Share z. B. nfsserver_name:/share_name RSNAPSHOT_BACKUP_TO_DIR_MOUNT_FS Ueber diesen Parameter wird das Dateisystem von RSNAPSHOT_BACKUP_TO_DIR_MOUNT_SOURCE angegeben. Dieses muss Hardlinks unterstuetzen. Gueltige Werte: ext3, ext4 oder nfs RSNAPSHOT_BACKUP_TO_DIR_MOUNT_OPTIONS Ueber diesen Parameter koennen zusaetzliche Mount- Optionen angegeben werden. RSNAPSHOT_BACKUP_TO_DIR_MOUNT_IDENT Datei oder Verzeichnis inklusive vollem Pfad (bezogen auf das eingemountete Medium) um die eingemountete Partition/Dateisystem zu identifizieren. Wird diese nicht gefunden, wird der rsnapshot-Lauf abgebrochen und die der Mount wieder geloest. RSNAPSHOT_BACKUP_TO_DIR_MOUNT_BACKUPDIR Verzeichnis inklusive vollem Pfad (bezogen auf das eingemountete Medium), welches RSNAPSHOT_BACKUP_TO_DIR hinzugefuegt wird und als Rootverzeichnis der Snapshots dient. Damit ist es bei Nutzung eines gemounteten Mediums moeglich, ein anderes als das Rootverzeichnis dieses Mediums als Backupziel zu definieren. RSNAPSHOT_CREATE_ROOT Erzeugt das rsnapshot Backup-Root-Verzeichnis. Achtung: Falls als Ziel eine in RSNAPSHOT_BACKUP_TO_DIR gemountetes Medium oder Share benutzt wird, sollte man den Parameter auf no setzen und ebenso ein Unterverzeichnis im Mountverzeichnis benutzen benutzen, damit wegen eines fehlgeschlagenen Mounts nicht die lokale Systemplatte mit Backups vollgeschrieben wird. Wird der Mount durch dieses Paket durchgefuehrt, muss dieses Verzeichnis ueber RSNAPSHOT_BACKUP_TO_DIR_MOUNT_BACKUPDIR festgelegt werden. Gueltige Werte: yes oder no Standardwert: yes RSNAPSHOT_PRE_EXEC Kommando (mit komplettem Pfad) gegebenenfalls mit Optionen, welches von rsnapshot vor dem Backup aufgerufen werden soll. Schlaegt das Kommando fehl, bricht rsnapshot das Backup ab. Gueltige Werte: Leer oder Kommando RSNAPSHOT_BACKUP_POST_EXEC Kommando (mit komplettem Pfad) gegebenenfalls mit Optionen, welches von rsnapshot nach Beendigung des Backups aufgerufen werden soll. Gueltige Werte: Leer oder Kommando RSNAPSHOT_BACKUP_PRE_EXEC Kommando gegebenenfalls mit Optionen, welches vor dem Start von rsnapshot aufgerufen werden soll. Schlaegt das Kommando fehl, wird rsnapshot nicht gestartet. Gueltige Werte: Leer oder Kommando RSNAPSHOT_BACKUP_POST_EXEC Kommando gegebenenfalls mit Optionen, welches nach der Beendigung von rsnapshot aufgerufen werden soll. Gueltige Werte: Leer oder Kommando RSNAPSHOT_BACKUPS_PER_DAY Dieser Parameter legt fest, wie oft rsnapshot taeglich gestartet wird. Die moeglichen Werte liegen zwischen 2 und 12 und sind alle ganzzahlige Teiler von 24. Der Cronjob fuer diese Laeufe von rsnapshot kann so derart eingerichtet werden, dass rsnapshot zu vollen Stunden laeuft. Dies entspricht den im Abschnitt 'Backup-Intervalle und Rotation' erwaehnten Jobs vom Typ 'hourly'. Wegen der direkten Abhaengigkeit der Cronjobs von der Anzahl der Snapshots auf dieser Ebene, koennen die Zeiten nicht ueber das Setup-Menue eingestellt werden, sondern werden automatisch festgelegt. Auf dem Level 'hourly' erfolgen die eigentlichen Backups durch Kopieren der Daten. Bei hoeheren Ebenen werden nur bereits erzeugte Snapshots tieferer Ebenen umbenannt bzw. verschoben. Das heisst die Jobs der Ebene 'hourly' benoetigen die meiste Zeit. Abhaengig von der Groesse der zu sichernden Daten, sollte der Parameter daher nicht zu hoch eingestellt werden. Der Wert 0 deaktiviert diesen Level. Gueltige Werte: 0, 2, 3, 4, 6, 8, 12 Standardwert: 6 RSNAPSHOT_DAILY_BACKUPS_TO_KEEP Dieser Parameter legt fest, wieviele taegliche Backups aufgehoben werden sollen. Der Wert 0 deaktiviert diesen Level. Gueltige Werte: numerisch Standardwert: 7 RSNAPSHOT_WEEKLY_BACKUP_DAY Mit dieser Variable wird festgelegt, wann die Rotation der woechentlichen Backups erfolgt. Zum aktuellen Snapshot der Ebene 'weekly' (weekly.0) wird stets der aelteste Snapshot der Ebene 'daily', d.h. konkret daily.7. Die moeglichen Werte sind jeweils die ersten drei Buchstaben der englischen Wochentagsbezeichnungen in Kleinbuchstaben. Gueltige Werte: mon, tue, wed, thu, fri, sat, sun Standardwert: sat RSNAPSHOT_WEEKLY_BACKUPS_TO_KEEP Dieser Parameter legt fest, wieviele woechentliche Backups aufgehoben werden sollen. Der Wert 0 deaktiviert diesen Level. Gueltige Werte: numerisch Standardwert: 4 RSNAPSHOT_MONTHLY_BACKUPS_TO_KEEP Dieser Parameter legt fest, wieviele monatliche Backups aufgehoben werden sollen. Der Wert 0 deaktiviert diesen Level. Gueltige Werte: numerisch Standardwert: 3 RSNAPSHOT_VERBOSELEVEL Dieser Parameter legt fest, wie ausfuehrlich bei Programmlauf die Bildschirmausgaben erfolgen. 1: Nur Schwerwiegende Fehler 2: Warnungen und Fehler 3: Listet die ausgefuehrten Shell-Kommandos auf 4: Details zu den ausgefuehrten Shell-Kommandos 5: Vollstaendige Details Hoehere Werte beinhalten die Ausgaben untergeordneter Level. Gueltige Werte: 1-5 Standardwert: 2 RSNAPSHOT_LOGLEVEL Dieser Parameter legt fest, wie ausfuehrlich bei Programmlauf in die Log-Datei geschrieben wird. 1: Nur Schwerwiegende Fehler 2: Warnungen und Fehler 3: Listet die ausgefuehrten Shell-Kommandos auf 4: Details zu den ausgefuehrten Shell-Kommandos 5: Vollstaendige Details Hoehere Werte beinhalten die Ausgaben untergeordneter Level. Gueltige Werte: 1-5 Standardwert: 3 RSNAPSHOT_REPORT Wird dieser Parameter auf 'yes' gesetzt, wird bei jedem von cron gestarteten rsnapshot-Lauf ein Report an die unter RSNAPSHOT_REPORT_TO angegebene Mailadresse versandt. Bei Verwendung dieser Option muss RSNAPSHOT_VERBOSELEVEL mindestens auf 4 gesetzt werden. Ist dies nicht der Fall, wird dieser intern auf 4 gesetzt. Gueltige Werte: yes, no Standardwert: no RSNAPSHOT_REPORT_TO Hiermit wird der Empfaenger der Report-Mail festgelegt. Wird dieser Parameter leer belassen, aber der Report wurde ueber RSNAPSHOT_REPORT aktiviert, wird die Mail an root versandt. Gueltige Werte: Leer oder E-Mailadresse Standardwert: leer RSNAPSHOT_REPORT_FROM Hiermit wird der Sender der Report-Mail festgelegt. Wird dieser Parameter leer belassen, aber der Report wurde ueber RSNAPSHOT_REPORT aktiviert, wird als Absenderadresse der ausfuehrende User (in der Regel "root") benutzt. Gueltige Werte: Leer oder E-Mailadresse Standardwert: leer RSNAPSHOT_MANUAL_CRON_CONFIG Wird der Parameter auf 'yes' muss sich der Anwender selbst um die die cron-Datei /var/cron/etc/root/rsnapshot kuemmern, die fuer jeden aktivierten Level eine cron-Zeile enthalten muss. Nach jeder Aenderung oder Erstellung der cron-Datei ist zur Aktivierung /var/install/config.d/cron.sh aufzurufen. Steht der Parameter auf 'yes' es existiert aber keine cron-Datei, wird diese mit den Defaultwerten erzeugt. Steht der Parameter auf 'no' und es existiert eine cron-Datei, wird geprueft, ob die cron-Datei fuer jeden aktivierten Level einen cron-Zeile enthaelt bzw. ob eine Zeile in der cron-Datei fuer dekaktivierte Level enthalten ist. Weitergehende Pruefungen (Zeitangaben, Haeufigkeiten, Programmaufruf) finden nicht statt. Folgendes Vorgehen kann hilfreich sein: 1. Konfiguration des Paketes in der Einstellung RSNAPSHOT_MANUAL_CRON_CONFIG=no, damit eine korrekte rsnapshot- cron-Datei mit Standardwerten erstellt wird. 2. Erneuter Aufruf der Konfiguration und dabei RSNAPSHOT_MANUAL_CRON_CONFIG auf 'yes' setzen, damit zukuenftig die cron-Datei nach eigenen Anforderungen angepasst werden kann und nicht mehr durch das Abspeichern der Konfiguration neu geschrieben wird. 3. /var/cron/etc/root/rsnapshot nach eigenem Belieben veraendern 4. /var/install/config.d/cron.sh aufrufen Werden zu einem spaeteren Zeitpunkt in der rsnapshot-Konfiguration Backuplevel aktiviert oder deaktiviert, ist die cron-Datei der neuen Situation anzupassen und /var/install/config.d/cron.sh aufzurufen. Bei der Auswahl der Zeitpunkte fuer die einzelnen Level ist zu beachten, dass haeufigere Level nach selteneren Leveln ausgefuehrt werden muessen. Die Haeufigkeit der Level hourly (mehrmals am Tag) daily (einmal pro Tag) weekly (einmal pro Woche) monthly (einmal im Monat) ist absteigend. Dies kann hier anhand der Defaulteinstellungen fuer die einzelnen Level nachvollzogen werden: hourly : zur vollen Stunde daily : 0:45 weekly : 0:30 monthly: 0:15 Da der hourly-Level zur mehrfachen Ausfuehrung an jeden Tag gedacht, ist, muss entsprechend der in RSNAPSHOT_BACKUPS_PER_DAY angegeben Zahl das Stundenfeld des cron-Eintrags entsprechend gefuellt sein. Standardmaessig ist dies: 2 mal taeglich : 0 1,13 3 mal taeglich : 0 1,9,17 4 mal taeglich : 0 1,7,13,19 6 mal taeglich : 0 1,5,9,13,17,21 8 mal taeglich : 0 1,4,7,10,13,16,19,22 12 mal taeglich: 0 1,3,5,7,9,11,13,15,17,19,21,23 Die Standard-Cron-Jobs des Paketes lauten: hourly : Alle X Stunden (hier fuer den Standardwert 6 taegliche Backups) zur 0. Minute 0 1,5,9,13,17,21 * * * /var/install/bin/rsnapshot hourly daily : Jeden Tag um 0:45 Uhr 45 0 * * * /var/install/bin/rsnapshot daily weekly : Am konfigurierten Tag (z. B. sun) um 0:30 Uhr 30 0 * * sun /var/install/bin/rsnapshot weekly monthly : Am 1. eines Monats um 0:15 Uhr 15 0 1 * * /var/install/bin/rsnapshot monthly Beispiel fuer cron-Zeiten, wobei RSNAPSHOT_BACKUPS_PER_DAY auf 0 gesetzt ist, also keine hourly-Jobs existieren: daily : 45 2 * * * /var/install/bin/rsnapshot daily weekly : 30 1 * * sun /var/install/bin/rsnapshot weekly monthly : 30 0 * * * /var/install/bin/rsnapshot monthly Gueltige Werte: yes, no Standardwert: no RSNAPSHOT_BACKUP_N Ueber diesen Parameter wird die Anzahl der zu sichernden Ordner festgelegt. Gueltige Werte: numerisch RSNAPSHOT_BACKUP_x_ACTIVE Wird dieser Parameter auf 'yes' gesetzt, wird der zugehoerige Ordner gesichert. Der Wert 'no' entfernt den Ordner aus dem Backup. Gueltige Werte: yes, no RSNAPSHOT_BACKUP_x_DIR Mit diesem Parameter wird ein Ordner festgelegt, von dem Snapshots angelegt werden sollen. Der Nutzer ist selbst verantwortlich diese Ordner sinnvoll auszuwaehlen. Voreingestellt sind die Ordner /etc/config.d, der die eisfair-spezifischen Konfigurationsdateien der installierten Pakete enthaelt sowie /home, der Ordner mit den Home-Verzeichnissen der Nutzer. Beispiele: vollstaendiger lokaler Pfad rsync ueber ssh: @example.com/pfad rsync://example.com/pfad Bei ssh-Verbindungen muss die Authentifizierung per Schluessel erfolgen. Hilfe und Erlaeuterungen zum Thema SSH finden sich im eisfair Wiki: https://ssl.nettworks.org/wiki/pages/viewpage_action?pageid=23330938 RSNAPSHOT_BACKUP_x_DIR_MOUNT Aktiviert das Einmounten nach RSNAPSHOT_BACKUP_x_DIR eines Laufwerks/Partition/Dateisystems oder einer entfernten Freigabe als zu sichernde Quelle. Schlaegt der Mount fehl, wird rsnapshot sofort komplett abgebrochen. Es empfiehlt sich dringend, als Mountpoint ein nur fuer diesen Zweck reserviertes Verzeichnis zu benutzen. Gueltige Werte: yes, no RSNAPSHOT_BACKUP_x_DIR_MOUNT_SOURCE Ueber diesen Parameter wird das Laufwerk/Partition/Dateisystem oder eine entfernte Freigabe angegeben, die nach RSNAPSHOT_BACKUP_TO_DIR gemountet wird. Im Falle von an USB angeschlossenen Laufwerken muessen die notwendigen Treiber geladen sein. Gueltige Werte: lokales Device z. B. /dev/sdd1 Samba-Share z. B. //sambaserver_name/share_name NFS-Share z. B. nfsserver_name:/share_name RSNAPSHOT_BACKUP_x_DIR_MOUNT_FS Ueber diesen Parameter wird das Dateisystem von RSNAPSHOT_BACKUP_x_DIR_MOUNT_SOURCE angegeben. Gueltige Werte: ext3, ext4, cifs oder nfs RSNAPSHOT_BACKUP_x_DIR_MOUNT_OPTIONS Ueber diesen Parameter koennen zusaetzliche Mount- Optionen angegeben werden. Beispiel fuer eine Samba-Freigabe: user=,password=,iocharset=utf8 RSNAPSHOT_BACKUP_x_DIR_MOUNT_BACKUPDIR Verzeichnis inklusive vollem Pfad (bezogen auf das eingemountete Medium), welches RSNAPSHOT_BACKUP_x_DIR hinzugefuegt wird und Startpunkt der zu sichernden Daten ist. Damit ist es bei Nutzung eines gemountenten Mediums moeglich, ein anderes als das Rootverzeichnis dieses Mediums als Backupquelle zu definieren. RSNAPSHOT_BACKUP_x_TO_DIR Mit diesem Parameter wird festgelegt, in welchem Unterverzeichnis des rsnapshot Wurzelverzeichnisses (RSNAPSHOT_BACKUP_TO_DIR eventuell ergaenzt um RSNAPSHOT_BACKUP_TO_DIR_MOUNT_BACKUPDIR) der Snapshot abgelegt wird. Gueltige Werte: relativer Pfad RSNAPSHOT_BACKUP_x_PRE_EXEC Kommando gegebenenfalls mit Optionen, welches vor dem Start von rsnapshot aufgerufen werden soll. Schlaegt das Kommando fehl, wird rsnapshot nicht gestartet. Gueltige Werte: Leer oder Kommando RSNAPSHOT_BACKUP_x_POST_EXEC Kommando gegebenenfalls mit Optionen, welches nach der Beendigung von rsnapshot aufgerufen werden soll. Gueltige Werte: Leer oder Kommando Rsnapshot-Verzeichnis kopieren Um das komplette Rsnapshot-Rootverzeichnis an einen anderen Ort zu kopieren, kann entweder rsync -aH oder /usr/bin/rsnapshot-copy [--test] [rsync-Optionen] verwendet werden. Als rsync-Optionen sollten die von rsnapshot verwendeten Standardoptionen ausser --relative enthalten sein, also: -a --delete --numeric-ids --delete-excluded Die Pfade zum alten und neuen Root sind zwingend als absolute Pfade anzugeben. Befinden sich "altes" oder "neues" rsnapshot-Rootverzeichnis auf nicht staendig eingemounteten Laufwerken, Partitionen, Geraeten oder Freigaben, sind diese vor dem Kopiervorgang eigenhaendig zu mounten und hinterher wieder zu unmounten! Die in der Konfiguration hinterlegten Mounts werden nicht automatisch ausgefuehrt! Ohne Parameter aufgerufen, gibt /usr/bin/rsnapshot-copy eine Hilfeseite aus. Dateien wiederherstellen Eine automatische Wiederherstellung der Daten ist nicht vorgesehen. Da die Dateien direkt im Dateisystem liegen, koennen und sollen sie einfach mit den bekannten Bordmitteln kopiert werden. Read-Only-Zugriff fuer normale User Es ist sehr zu empfehlen, normalen Nutzern keine Leserechte auf den Backup-Ordner selbst zu geben. Alle Dateien dort haben die Rechte, die sie auch im Quelldateisystem haben. Nutzer koennten hier Dateien aendern oder loeschen und so die Konsistenz des Backups zerstoeren. Daher warnt das Paket beim Speichern der Config, wenn der in RSNAPSHOT_BACKUP_TO_DIR angegebene Ordner nicht root gehoert und nicht die Rechte 0700 besitzt. Um den Nutzern dennoch Nur-Lese-Zugriff auf die Snapshots zu gewaehren, bietet sich folgende Vorgehensweise an. To be continued ...