Das Konzept hinter rsnapshot ist überschaubar und effektiv – zu definierten Zeitpunkten werden Snapshots der Daten erstellt. Increments gibt es bei rsnapshot nicht, Daten werden Snap-shot-übergreifend trotzdem nicht einfach kopiert. Stattdessen werden gleich gebliebene Dateien über Hard Links verknüpft. Hard Links stellen eine Art Referenz dar, die auf einen Inode des Dateisystems zeigen. Für eine Datei kann es durchaus mehrere solche Referenzen geben, Speicherplatz belegt sie trotzdem nur ein Mal.
Im Fall von rsnapshot können Sie die Verwendung von Hard Links wie folgt selbst überprüfen:
# ls -li hourly.*/localhost/etc/hosts
28589 -rw-r--r-- 1 root root 209 Mar 13 11:30 hourly.0/localhost/etc/hosts
28147 -rw-r--r-- 2 root root 186 Jul 10 2014 hourly.1/localhost/etc/hosts
28147 -rw-r--r-- 2 root root 186 Jul 10 2014 hourly.2/localhost/etc/hosts
In den beiden Snapshots "hourly.2"und "hourly.1" blieb »/etc/hosts
«
unverändert und verwenden daher den Inode 28147. In der aktuellsten Sicherung hourly.0 wurde der Datei ein neuer Inode zugeteilt, da sie sich geändert hat. Für den Datentransfer selbst setzt rsnapshot auf rsync, das mit seinem Delta-Copy-Mechanismus Änderungen effizient von A nach B synchronisiert [2].
Die wichtigsten Optionen zum Setup eines rsnapshot-Backups |
|
Option |
Zweck |
snapshot_root |
Root-Verzeichnis zur Ablage der Snapshots. |
no_create_root |
Ist diese Option gleich 1, erstellt rsnapshot das Root-Verzeichnis nicht automatisch. Das ist zum Beispiel hilfreich, wenn der Mount von fehlschlug. |
retain |
Die retain-Zeilen regeln, welcher Typ von Snapshot wie lange aufgehoben wird. |
logfile |
Ausgeführte Kommandos werden in geloggt. |
backup |
Die backup-Zeilen definieren die zu sichernden Verzeichnisse. Ein remote-Pfad (per SSH erreichbar) ist ebenfalls möglich. |
cmd_ssh |
Pfad zum SSH-Programm. |
Die Hauptkonfigurationsdatei von rsnap-shot ist »/etc/rsnapshot.conf
«
. Die Konfigurationsmöglichkeiten sind umfangreich, im Wesentlichen können Sie den Fokus zu Beginn auf die wichtigsten Einstellungen einschränken.
Parameter in der Konfiguration werden immer durch Tabulator-Zeichen getrennt. Zur Überprüfung, ob Sie alles richtig eingestellt haben, führen Sie am besten einen configtest durch:
# rsnapshot configtest
Syntax OK