Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:dar

dar

dar, hergeleitet von disk archive, ist ein Kommandozeilenprogramm zur Sicherung von Dateien und Verzeichnissen. Es unterstützt Kompressionsverfahren, Verschlüsselung und das Aufteilen des Archivs in beliebige Größen. Es verwendet ein eigenes Backupformat (.dar), das den Katalog der gesicherten Dateien enthält. Daher kann das Backup jeweils als Referenz für weitere differenzielle oder inkrementelle Sicherungen dienen.

Dar eignet sich durch die Möglichkeit des sequentiellen Zugriffs auch als Archivierungsformat für Bandmaschinen und ist daher tar ähnlich. Neben dem Hauptprogramm werden die Werkzeuge dar_xform, dar_manager, dar_slave und dar_cp bereitgestellt. Die wesentlichen Eigenschaften sind:

  • Vollbackups, differenzielle und inkrementelle Backups
  • Filtermöglichkeit, das Ein- und Auschließen bestimmter Dateien und Pfade
  • selektive Kompressionsverfahren: gzip, bzip2, lzo
  • Verschlüsselung: blowfish, twofish, aes256, serpent256, camellia256
  • Archivsplitting (slices), inklusive hash-Verfahren und Zusammenführung von Archivteilen oder Neuaufteilung der Archive
  • Aufruf von Kommandos vor und nach dem Archivierungsvorgang
  • Sequentieller Zugriff, z.B. für Bandarchive
  • Sicherung von hardlinks
  • Sicherung von Dateiattributen ACL/Extended Attributes
  • Testen der Archivintegrität
  • Unterstützung von parchiv-Prüfsummenverfahren und Hashverfahren
  • Direktzugriff auf Dateien zur schnellen Restaurierung von Daten
  • Berücksichtigung von Sparsefiles
  • Katalogverwaltung und Isolierung des Katalogs unabhängig vom Archiv
  • Backuparchiv kann für weiteres Verarbeiten nach stdout gepiped werden
  • Verwaltung vieler Backups über dar_manager

Verwendung

Der Befehlaufruf dar beinhaltet stets ein Kommando, gefolgt von Optionsaufrufen und der Angabe des Archivbasisnamen:

dar KOMMANDO ARCHIVBASISNAME OPTIONEN ZIELVERZEICHNIS  

Dar ergänzt den Archivbasisnamen mit einer fortlaufenden Nummer und der Dateierweiterung *.dar. So wird z.B. aus dem Archivbasisnamen backup die Datei backup.1.dar erzeugt. Bei gesplitteten Archiven, die über Option -S erzeugt werden, erstellt dar weitere Dateien entsprechender maximaler Splitgröße wie etwa backup.1.dar, backup.2.dar … Kommandos

:!: Bei der weiteren Verarbeitung der Archive ist immer der ArchivbaKommandossisname und nicht der Dateiname anzugeben.

Kommandos

Kommando Beschreibung
-c erzeugt Backuparchiv Archivbasisname.
-x extrahiert Daten aus Archivbasisname
-l listet alle Daten aus Archivbasisname
-d vergleicht Daten vom Quellmedium mit Archivbasisname
-t testet die Archivintegrität von Archivbasisname
-C isoliert Katalog aus Archivbasisname
-+ führt verschiedene Archive zusammen

Bei der weiteren Verarbeitung der Archive ist immer der Archivbasisname und nicht der Dateiname anzugeben. Optionen

Die folgende Tabelle gibt nur einen Überblick einiger Optionen. Eine vollständige Beschreibung befindet sich in der Manpage zu dar.

Optionen

OptionBeschreibung
-R Angabe des Zielverzeichnis, das archiviert werden soll oder im Falle der Rücksicherung das Zielverzeichnis wohin das Backup zurückgespielt wird.
-X, –exclude <Muster> Ausschluss bestimmter Dateien (keine Verzeichnisse) nach Muster bestehend aus einer Zeichenkette mit Platzhaltern. Die Option kann mehrfach angegeben werden. Beispiel: -X „*.tmp“ schließt alle Dateien mit der Dateiendung tmp aus.
-I, –include <Muster> Einbindung bestimmter Dateien (keine Verzeichnisse) nach Muster bestehend aus einer Zeichenkette mit Platzhaltern. Die Option kann mehrfach angegeben werden. Beispiel: -I „*~“ inkludiert alle Dateien mit einem Tilde-Zeichen am Ende des Dateinamens.
-P, –prune <Pfad> Ausschluss eines Verzeichnis und dessen Unterverzeichnisse relativ zum Zielverzeichnis. Beispiel: -P .thumbnails schließt das Verzeichns .thumbnails innerhalb eines Benutzerverzeichnisses aus, wenn z.B. als Zielverzeichns -R /home/user1 angegeben wurde.
-g, –go-into <Pfad> Einbindung bestimmter Dateien relativ zum Zielverzeichnis. Die Option kann mehrfach angegeben werden und wirkt sich gleichermaßen auf Dateien und Verzeichnisse aus. Es dürfen keine Muster (wildcards) verwendet werden. Beispiel: -g downloads/audio/podcast1.m4a sichert die Datei podcast1.m4a einschließlich der Verzeichnisse downloads/audio/.
-K[Algorithmus:Passwort] verschlüsselt oder entschlüsselt ein Backuparchiv. Es sind die Verschlüsselungsalgorithmen Blowfish (bf), AES, Twofish, Serpent, Camellia und Scrambling (scram) implementiert. Der Algorithmus und das Passwort wird jeweils durch ein Doppeltpunkt getrennt angegeben. Lässt man die Angabe des Algorithmus weg, wird standardmäßig Blowfish verwendet. Beim Weglassen des Passwortes, erfolgt die Aufforderung in der Kommandozeile. Beispiele: -K : erzeugt ein Archiv mit Blowfish-Verschlüsselung und Aufforderung des Passworts. -K twofish:geheim erzeugt ein Archiv mit Twofish-Verschlüsselung und mit dem Passwort geheim. Wichtig: Bei Angabe des Passwortes als Klarnamen, sollte man aus Sicherheitsgründen darauf achten, dass diese nicht ausgespäht werden. Sie lassen sich leicht über ps oder htop herausfinden.
-J[Algorithmus:Passwort] wie Option -K, aber mit dem Unterschied, dass der angegebene Schlüssel zum Entschlüsseln eines Referenzarchivs (-A-Option) angegeben wird
-A Pfad/Archivbasisname Angabe eines Referenzarchivs, verpflichtend bei -C oder -+.
-s <Dateigröße> splitten des Archivs in bestimmte Dateigrößen. Die Angabe kann mit den Buchstaben K, M, G, T usw. ergänzt werden, wobei K = kB, M = MB usw. 20M bedeutet 20 Megabyte. Die Angabe wird benötigt falls das Dateisystem nur eine bestimmte, maximale Größe unterstützt oder wenn auf Wechselmedien gespeichert werden soll.
-D, –empty-dir Sicherung leerer Verzeichnisse oder Verzeichnisse die über bestimmter Optionsaufrufe ausgeschlossen wurden. Beispiel: wurde beim Backup über die Option -P usertmp das Verzeichnis usertmp ausgeschlossen, so wird bei der Wiederherstellung ein leeres Verzeichnis usertmp angelegt.
-z[Algorithmus:[Kompressionslevel]], -y Kompression des Archivs mit optionaler Angabe des Kompressionsverfahren und des Kompressionslevel. Ohne Angabe des Algorithmus ist gzip Standard. Bei -y wird bzip2 als Standard verwendet. Beim Archivieren lassen sich bestimmte (bereits komprimierte) Dateitypen von der Kompression mit -Z ausschließen, z.B. für JPEG oder MP3

Beispiele

Beispiel für ein Vollbackup des Homeverzeichnis:

dar -c /media/backup/vollbackup -D -P .thumbnails -P .mozilla/firefox/xyz123.default/Cache -R /home/user -X "*~" -Kbf: -zlzo:9 
-c: erzeuge ein Archiv im Ordner /media/backup/ mit Namen „vollbackup“. Erstellt Archiv vollbackup.1.dar
-D: leere Verzeichnisse werden ebenfalls gesichert
-P: schließt benannte Verzeichnisse/Dateien relativ zu /home/BENUTZERNAME aus
-R: das zu sichernde Verzeichnis /home/BENUTZERNAME
-X: schließt Dateien mit Maske „*~“ aus
-K: Kennwort zur Verschlüsselung mit Blowfish wird abgefragt
-z: Archiv mit LZO komprimieren

Beispiel für eine komplette Rücksicherung des Homeverzeichnis:

dar -x /media/backup-device/vollbackup -R /home/user/ -Kbf: 

dar_manager

Der dar_manager gehört zum dar-Paket und ist ein Programm, zur Rücksicherung einzelner Dateien aus Voll- oder differenziellen backups. Die Archivkataloge1) werden durch den dar_manager in einer eigenen Datenbank verwaltet. Über die Angabe des relativen Pfads der Datei(en), wird die Sicherung der jeweils letzten Version oder der Version eines bestimmten Datums wiederhergestellt. Der dar_manager vereifacht den typischen Anwendungsfall einzelner Dateien, die z. B. versehentlich gelöscht wurden. Für die Rücksicherung kompletter Pfade ist dar_manager nicht geeignet, dazu sollte man dar direkt zu verwenden.

Man könnte einzelne Dateien ohne dar_manager direkt mit dar wiederherstellen, aber wenn man eine Vielzahl von differenziellen Backups angelegt hat, ist dieses Arbeit relativ aufwändig. Man müsste alle Archive nach der letzten Version einer Datei überprüfen. Der dar_manager erleichtert dies mit seiner internen Datenbank in der alle Kataloge der Voll- und differenziellen Backups gespeichert sind.

1)
dar speichert die Archivkataloge bereits als Bestandteil jedes Archivs.
linux/dar.txt · Zuletzt geändert: 2014-11-30 21:54 von fzap