Zum Inhalt springen

rdiff-backup

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 10. Oktober 2014 um 09:38 Uhr durch Keimzelle (Diskussion | Beiträge) (Anwendungsbeispiele: auch hier ein gzip-Dings...). Sie kann sich erheblich von der aktuellen Version unterscheiden.
rdiff-backup
Basisdaten

Hauptentwickler Edward Ned Harvey
Ben Escoto
Aktuelle Version 1.2.8
(März 2009)
Betriebssystem Linux, Mac OS X, Windows (via Cygwin)
Programmier­sprache Python
Kategorie Datensicherung
Lizenz GPL
rdiff-backup.nongnu.org

rdiff-backup ist eine für Linux entwickelte Datensicherungssoftware, mit der sogenannte inkrementelle Backups erstellt werden können.

Besonderheiten

Die Besonderheit von rdiff-backup besteht darin, dass neue oder geänderte Dateien jeweils in die Vollsicherung eingepflegt werden, während ältere und gelöschte Dateiversionen als Inkremente (sogenannte „reverse deltas“) gespeichert werden. Die Vollsicherung ist bei rdiff-backup jederzeit als normales Verzeichnis zugänglich - die Wiederherstellung des zuletzt gesicherten Datenbestandes geschieht also durch einen simplen Kopiervorgang (von Hand, oder mittels cp oder rsync). Frühere Dateiversionen oder Datenbestände müssen mittels rdiff-backup selbst wiederhergestellt werden.

Im Gegensatz dazu muss bei üblichen inkrementellen Backups, welche „forward deltas“ verwenden, der aktuelle Datenbestand mittels Inkrement-Dateien rekonstruiert werden, und nur der Datenbestand, der während der letzten Vollsicherung vorlag, kann unkompliziert wiederhergestellt werden.

Im Backup-Verzeichnis (/rdiff-backup-data/increments) findet man für die Inkremente folgende Datei-Endungen - "Datum" entspricht jeweils der Zeitangabe, und "gz" steht für eine mit gzip komprimierte Datei:

  • .Datum.missing für eine Datei, die zum Zeitpunkt des Backups noch nicht existiert hat. Dies ist jeweils eine leere Datei.
  • .Datum.diff.gz für eine Datei, die sich seit dem letzten Backup geändert hat.
  • .Datum.snapshot.gz für eine Datei, die seit dem letzten Backup gelöscht wurde.

rdiff-backup unterstützt auch die Sicherung auf Netzwerk-Server. Um neue Dateien bzw. neue Dateiversionen zu erkennen, verwendet rdiff-backup bloß den Dateinamen, das Datei-Datum und die Dateigröße, aber jedoch keine Prüfsummen wie SHA-1 oder MD5. rdiff-backup kann aus diesem Grund etwa TrueCrypt-Containerdateien nicht sichern.

archfs

Mit einem Werkzeug namens archfs ist es möglich, das gesamte Backup als Laufwerk zu mounten. Es erscheinen dann entweder eine bestimmte Anzahl Verzeichnisse, die den damaligen Quellverzeichnissen zu den jeweiligen Inkrement-Zeitpunkten entsprechen - mittels einer Option kann man das Backup aber auch so mounten, dass die derzeit aktuelle Vollsicherung angezeigt wird - aber mit sämtlichen Dateiversionen, wie sie zu jedem Inkrement-Zeitpunkt existierten.[1] Auf diese Weise kann der Benutzer - wie bei rsnapshot - auf "Schnappschüsse" des Datenbestandes direkt zugreifen.

Anwendungsbeispiele

Das Backup wird einfach mittels

rdiff-backup Quellverzeichnis Backupverzeichnis

durchgeführt. Je nach dem muss man sudo voranstellen, damit auch Dateien kopiert werden, für die der angemeldete Nutzer keine Zugriffsberechtigungen besitzt. Die Wiederherstellung geschieht mit:

rdiff-backup -r Zeit Backupverzeichnis Zielverzeichnis

„Zeit“ ist beispielsweise „now“, ein Datum oder eine Zeitspanne. Als Zeitspanne kann man etwa „5D“ angeben (um den Zustand von vor 5 Tagen wiederherzustellen), oder „3h20m“ für jenen vor 3 Stunden und 20 Minuten. Noch einfacher ist aber

cp -a Backupverzeichnis Zielverzeichnis

wenn man den letzten Backup-Stand wieder herstellen will.

Gezielt und trotzdem ziemlich relativ einfach lässt sich eine alte Datei oder ein älteres Verzeichnis wieder herstellen, wenn man im Verzeichnis „/rdiff-backup-data/increments“ des Backup-Verzeichnisses die entsprechende Inkrement-Datei ausfindig macht.

rdiff-backup Inkrementdatei Zielverzeichnis
rdiff-backup Inkrementdatei Zieldatei

Dies gelingt mit allen Inkrementdateien - ausser mit solchen, welche die Dateiendung ".missing" tragen. Diese Inkrementdatei zeigt bloß an, dass eine Datei beziehungsweise ein Verzeichnis zum angegebenen Zeitpunkt nicht existiert hatte.

Die Wiederherstellung einer gelöschten Datei geschieht sogar noch einfacher: Hierzu muss man die Inkrement-Datei mit der Dateiendung ".snapshot.gz" ausfindig machen, ins gewünschte Verzeichnis hinüberkopieren, mit gzip entpacken, und den Dateinamen anpassen (etwa "Lebenslauf.doc.2014-10-10T09:23:50+02:00.snapshot zu "Lebenslauf.doc" umbenennen).

Siehe auch

Liste von Datensicherungsprogrammen

Einzelnachweise

  1. http://manpages.ubuntu.com/manpages/trusty/en/man1/archfs.1.html (abgerufen am 9. Oktober 2014)