» SelfLinux » Systemverwaltung » Backups » Abschnitt 3 SelfLinux-0.12.1
zurück   Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter

SelfLinux-Logo
Dokument Backups  Autor
 Formatierung
 GFDL
 

3 tar

Mit tar können einzelne Dateien oder ganze Verzeichnisse in ein ein Archiv gepackt werden. Da tar für grössere Systeme geschrieben wurde, versucht es standardmässig auf ein Bandlaufwerk zu schreiben.
Dies stellt kein grosses Problem dar, da man mit der Option -f den Datenstrom in eine Datei (f für File) umleiten kann. Daher wird im Verlauf des Textes tar immer auch mit -f aufgerufen.

tar ist zwar ein älteres Programm, doch ist es sehr weit verbreitet und unter vielen Systemen verfügbar. So kann man davon ausgehen, tar immer zur Verfügung zu haben.


3.1 Vollständiges Backup mit tar

user@linux $ tar [Optionen] [Ziel] [Dateien und Verzeichnisse]

Will man eine neue Datei erstellen, genügen die Optionen -cf. Dabei werden aber die vorangestellten / der Pfadangaben entfernt. Will man die Dateien im Rahmen eines Restore zurückschreiben, braucht man aber die ganzen Pfade. Diese müssen beim Restore entweder angegeben werden oder beim Erstellen durch die Option -P explizit angefordert werden:

user@linux $ tar -Pcf /mnt/disk2/backup-1.tar /home/

Mit diesem Aufruf werden alle Dateien unter /home in die Datei /mnt/disk2/backup-1.tar gespeichert. Die gesamten Pfade bleiben erhalten, doch werden diese relativ von dem Ort aus eingetragen, von dem man tar aufruft.

Hinweis:
Durch die Verwendung von -P kann man die Dateien nur an ihren ursprünglichen Ort wiederherstellen. Will man sich alle Möglichkeiten offen halten, sollte man daher auf -P verzichten.

3.2 Inkrementelles Backup mit tar

tar wurde vor allem für ganze Backups gemacht. Es gibt aber einige mehr oder weniger einfache Möglichkeiten, inkrementelle Backups zu machen.

Die einfachste Form ist wohl die Verwendung der Option -g beim ersten vollen Backup.
Dabei werden Informationen über die gesicherten Dateien in eine externe Datei zeitstempel geschrieben:

user@linux $ tar -vcf /mnt/disk2/backup-1.tar -g zeitstempel /home/

Beim inkrementellen Backup lautet der Aufruf bis auf den Archivnamen gleich, doch sichert tar diesmal nur die Dateien, die sich seit dem vollen Backup geändert haben.

Man kann tar auch mitteilen, das es nur Dateien sichern soll, die sich seit einem bestimmten Datum geändert haben. Bei diesem Aufruf werden die seit dem 1. November modifizierten Dateien getart:

user@linux $ tar -N 2002-11-01 -Pcf /mnt/disk2/backup-1.tar /home/

Will man ein eigenes kleines Backupscript schreiben, das einem alle Dateien sichert, die neuer als 5 Tage sind, kann man date zur Mitarbeit bewegen:

user@linux $ tar -N $(date -d "now 5 days ago" +%Y-%b-%d) -Pcf /mnt/disk2/backup-1.tar /home/

3.3 komprimierte Backups mit tar

Man kann ein nach dem zuvor erklärten Verfahren erstelltes Archiv auch komprimieren. Dazu genügt der Aufruf von gzip:

user@linux $ gzip backup-1.tar

Danach befindet sich im Verzeichnis eine Datei mit dem Namen backup-1.tar.gz. Um die Datei zu dekomprimieren, ruft man an der Stelle von gzip das Tool gunzip auf:

user@linux $ gunzip backup-1.tar.gz

Es gibt bei tar aber auch eine integrierte Methode. Mit der Option -z wird gzip durch tar aufgerufen und es gibt keinen Umweg über einen zweiten Befehl. Neben gzip kann auch bzip2 für die Komprimierung verwendet werden. Dafür dient die Option -j.

user@linux $ tar -zcf /mnt/disk2/backup-1.tar /home/
user@linux $ ls
backup-1.tar.gz

3.4 Überprüfen mit tar

Eine der wichtigsten Schritte beim Anlegen eines Backups ist dessen Überprüfung. Mit der Option -d geht dies sehr einfach, sofern man noch in dem Verzeichnis ist, in dem man tar gestartet hatte, keine Komprimierung -z oder -j und die Option -P verwendet hat:

user@linux $ tar -df /mnt/disk2/backup-1.tar

Wenn alles stimmt, gibt tar keine Fehlermeldung aus. Hat man -P nicht verwendet, muss man tar den Pfad mitgeben:

user@linux $ tar -C /home -df /mnt/disk2/backup-1.tar

Diese Option geht ebenfalls, wenn man zwischenzeitlich das Verzeichnis gewechselt hat.
Will man wissen, was alles im Archiv ist, genügt ein -t

user@linux $ tar -tf /mnt/disk2/backup-1.tar
/home/jg/datei1
/home/jg/datei2
/home/jg/datei3
/home/jg/datei4

3.5 Restore mit tar

Nachdem das Archiv ordentlich geschrieben und geprüft wurde, kann man sich erst einmal ruhig zurücklehnen. Da aber erfahrungsgemäss immer etwas passieren kann, sollte man auch etwas über die Wiederherstellung wissen. Die dafür notwendige Option ist -x (extract = extrahieren). Damit man weiss was gerade passiert, gibt es -v (verbose = wortreich):

user@linux $ tar -xvzf /mnt/disk2/backup-1.tar.gz

oder mit zusätzlicher Pfadangabe und einem nicht komprimierten Archiv:

user@linux $ tar -C /home -xvf /mnt/disk2/backup-1.tar


zurück   Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter