Duisburger Linux User Group - http://www.dulug.de
Stammtisch 18.06.2004: Backupfunktionen unter Linux
Anm: die Tilde ~ in den Verzeichnisnamen bedeutet immer das eigene Homeverzeichnis
aus ~/backup wird dann /home/user/backup
Desweitern soll dieses Dokument keine vollständige Referenz darstellen sondern viel mehr einige
Programme vorstellen mit ihren wichtigsten Funktionen um ein Linuxsystem möglichst vollständig
zu sichern!
Keine Garantie auf Vollständigkeit und/oder Funktionalität!!!
Autor: M. Franke

Allgemeine Vorbereitung die zum Testen nötig sind:
Backupverzeichnis erstellen z.B.:
$ mkdir ~/backup
Ein paar Dateien/Verzeichnisse in das Verzeichnis kopieren:
$ cp ~/.kde/share/apps/kmail/* -a ~/backup/

Mit mkisofs ein ISO Image erzeugen:
Konsole starten und ein ISO Image mittels mkisofs erzeugen:
$ mkisofs -o ~/backup.iso -J -R -T backup/
Das ISO Image kann man jetzt auch mounten ohne zu brennen:
$ mount -t iso9660 -o loop ~/backup.iso /mnt/mntiso/
Dazu ist es natürlich nötig als root ein Verzeichnis namens mntiso zu erstllen!
Und den Inhalt einsehen:
$ ls /mnt/mntiso/
Die Option -J und -R stehen für Joliet und Rock-Ridge was für die Anordnung des Dateisystems im
ISO-9660 Standard definiert ist. Manche Systeme verstehen die Rock-Ridge Erweiterung nicht, die
benötigen dann eine Datei namens TRANS.TBL in der das Verzeichnis der Daten-CD nochmal
auftaucht. Die Datei TRANS.TBL wird mittels der Option -T erzeugt.

Tar Archive verwalten:
Ein Tar Archiv erzeugen: $ tar cvf ~/backup.tar backup
Den Inhalt des Tar Archive anzeigen: $ tar tvf ~/backup.tar
Tar Archive wieder entpacken: $ tar xvf ~/backup.tar
Verwendete Optionen von tar:
vverboseZeigt die zu packenden Dateien an
ffileDer Name des Archivs (hier backup.tar)
ccreateDamit wird das Archiv erstellt
ttypeZeigt Dateien im Archiv an (mit v werden alle Info's angezeigt)
xextractDamit wird das Archiv entpackt
zgzipArchiv mit gzip (de-)komprimieren.
jbzipArchiv mit bzip (de-)komprimieren.
Archive die auf *.tar.gz enden kann man mittels $ tar xvfz file.tar.gz entpacken

Partionen mit dd kopieren:
Aufruf: $ dd if=<Datei> of=<Datei>
Wobei anstelle der Dateien auf Gerätedateien benutzt werden können
if steht für den Eingabekanal und of für den Ausgabekanal. Wird bei of kein Ausgabekanal
angegeben, wird der Standardausgabekanal, meist der Monitor, verwendet.
Beispiel bei dem die erste Partition der ersten Festplatte auf die erste Partition der zweiten
Festplatten kopiert werden soll:
$ dd if=/dev/hda1 of=/dev/hdb1
Beispiel um ein Image von der ersten Partition der ersten Festplatte in eine Datei zu schreiben:
$ dd if=/dev/hda1 of=Image.img

Verzeichnisse mit rsync 1:1 spiegeln:
Aufruf bei dem das Verzeichnis backup im home-Verzeichnis auf eine DVD-RAM gespiegelt
werden soll:
$ rsync -av ~/backup /mnt/dvd
-v--verboseZeigt die Dateien an die gerade gespiegelt werden
-a--archiveBeinhaltet die folgenden Optionen: rlptgoD
-r--recursiveUnterverzeichnisse einschliessen
-l--linksSymbolische werden mitkopiert
-p--permsZugriffsrechte bleiben erhalten
-o--ownerEigentümer bleiben erhalten
-g--groupGruppenmitgliedschaft bleibt erhalten
-D--devicesGerätedateien kopieren
-t--timesZeitstempel erhalten
--deletegelöschte Dateien löschen
Manchmal löscht man Dateien im Originalverzeichnis, die aber bei einem vorherigen Spiegeln
bereits kopiert wurden. Diese sollen dann natürlich auch beim nächsten Spiegeln gelöscht werden.
Dies kann man mit der --delete Option erreichen:
$ rsync -av ~/backup /mnt/dvd --delete

partimage:
Das Programm partimage verknüpft oben genannte Möglichkeiten in einem Menü (Text!).
Partimage kann von http://www.partimage.org runtergeladen werden. Dort findet man auch eine
englischsprachige Dokumentation.
Es ist auch kein kompilieren nötig. Es gibt dort 3 Downloadmöglichkeiten:
1. die Sourcen, welche natürlich kompiliert werden müssen
2. die Binaries, die nicht mehr kompiliert werden müssen und sofort ausgeführt werden können
3. soweit ich gesehen habe ist die 3. Downloadmöglichkeit ein Art Rescue-CD, was ich aber nie
getestet habe!!