SelfLinux Systemverwaltung Backups Abschnitt 4 | SelfLinux-0.13.0

| Backups | Autor Formatierung GFDL

#### 4 cpio

cpio (copy in/out) ist tar sehr ähnlich, doch kann es im Gegensatz dazu mit beschädigten Archiven umgehen. So kann man den unbeschadeten Teil des Archivs meistens noch retten. Allerdings funktioniert cpio nur auf Festplatten mit dem Dateisystem ext2.

#### 4.1 Vollständiges Backup mit cpio

Will man die zu sichernden Dateien an cpio übergeben, müssen diese nach einem speziellen Muster mitgeteilt werden. Pro übergebene Zeile erwartet cpio einen Dateinamen. Daher verwendet man am Besten eine Pipe:

user@linux $ ls *.tex | cpio -o > /mnt/disk2/backup-2

Bei dieser Befehlskette werden zuerst alle TeX-Dateien (Endung .tex) aufgelistet und an cpio übergeben. Mit der Option -o wird die Datei backup-2 erstellt.

Der Nachteil beim Aufruf über ls ist, das man keine Unterverzeichnisse sichern kann. Verwendet man stattdessen find, kann man dieses Problem mit der Option -depth umgehen:

user@linux $ find /home/jg/ -maxdepth 2 -depth | cpio -o > /mnt/disk2/backup-3

#### 4.2 Inkrementelles Backup mit cpio

Mit find kann man sich nicht nur Verzeichnisebenen anzeigen lassen, sondern Dateien auch auf ihre letzte Modifikation prüfen. Daher genügt die Ergänzung des vorhin verwendeten Befehls um -mtime -5 um alle Dateien zu erhalten, die in den letzten 5 Tagen geändert wurden:

user@linux $ find /home/jg/ -mtime -5 -maxdepth 2 -depth | cpio -o > /mnt/disk2/backup-4

Für weitere Optionen von find empfielt sich ein Blick in man find.

#### 4.3 Überprüfen mit cpio

Ein Nachteil von cpio ist die fehlende direkte Überprüfung der gesicherten Dateien. Um einen wirklichen Vergleich zu machen, müsste man die Dateien in ein anderes Verzeichnis entpacken und mit Hilfe von diff sicherstellen, das die Dateien korrekt sind.

Es gibt aber wenigstens eine Möglichkeit, sich die Dateien im Archiv anzeigen zu lassen:

user@linux $ cpio -itvI /mnt/disk2/backup-2 -rw-r--r-- 1 jg jg 100 Nov 5 20:03 /home/jg/test1.tex -rw-r--r-- 1 jg jg 91 Nov 1 19:24 /home/jg/test2.tex -rw-r--r-- 1 jg jg 212 Nov 4 17:05 /home/jg/test3.tex -rw-r--r-- 1 jg jg 69 Nov 5 15:38 /home/jg/test4.tex

Da die Option i das Archiv auspacken würde, setzt man um dies zu Verhindern ein t davor. Über I teilt man das Verzeichnis mit und dank v werden die Dateirechte ebenfalls ausgegeben.

#### 4.4 Zurückspielen mit cpio

user@linux $ cpio -id %lt; /mnt/disk2/backup-2

Damit werden die Dateien aus dem Archiv an ihren Platz zurück kopiert, sofern die dort vorhandenen Dateien nicht identisch oder älter sind.