Donnerstag, Dezember 04, 2008

Backup mit der Linux bash

Hach nee, als hätte ich es nicht schon immer gewusst: die Linux Bash (das was man bei Windows die "Eingabeaufforderung" nennt) verleiht einem geradezu mythische Macht -- wenn man weiß wie man sie anwendet.

Hier ein Beispiel aus dem Alltag -- da ich so langsam meine letzten Arbeitstage habe hier, kopiere ich all meine Daten (immerhin -- aus fast 5 Jahren Forschung hier -- 25 GB) auf eine externe Festplatte. Ausserdem will ich natürlich sicher gehen, dass keine Fehler beim Kopieren, wie auch immer das geschehen soll, passiert sind. Weil ich mich heute so nerdig fühle, mach ich all das mit der Bash. Und zwar so:

Backup von Verzeichnis "/home/benutzer/DATEN" nach "/media/disk/backup_benutzer":
cd ~
rsync -av DATEN /media/disk/backup_benutzer
(so wird in in dem "backup_benutzer" ein neuer Ordner namens DATEN erstellt und alles rüberkopiert)

Berechnen der md5-Checksumme ALLER Dateien im, und unterhalb von, aktuellen Verzeichnis:
cd /home/benutzer/DATEN
find . -type f -print0 | xargs -0 md5sum >> /media/disk/backup_benutzer/md5sums_daten.txt
mv md5sums_daten.txt /media/disk/backup_benutzer

Vergleichen der Checksummen mit den den kopierten Dateien:
cd /media/disk/backup_benutzer/DATEN
md5sum -c ../md5sums_daten.txt

Clever, elegant, schnell. Und die Maus nutzt sich nicht so schnell ab... ;-)

EDIT: kleiner Nachtrag ... wenn man auf ein Dateisystem kopiert, dass keine Benutzer und Gruppenrechte kennt (wie z.B. FAT32), dann sollte man statt der Option -av dem Programm rsync die Optionen -rltv mitgeben... macht das gleiche, versucht aber keine Veränderungen mehr an den Benutzerrechten zu machen auf dem neuen Medium, dann wird man auch nicht mit Fehlermeldungen bombardiert

Keine Kommentare: