Ich möchte einfach einmal damit beginnen, Daten von einem Linux-Rechner auf eine externe Festplatte zu kopieren. Zum Einstieg mal ein einfaches Kopieren/Synchronieren der Daten. Zum Kopieren kann man natürlich den integrierten „cp“-Befehl verwenden, oder das rsync.
Kopieren bedeutet, dass Daten von Verzeichnis „A“ nach Verzeichnis „B“ rekursiv kopiert werden.
Das kann man mit dem „cp“-Befehl leicht abdecken, allerdings kopiert dieser Befehl die Daten relativ „dumm“.
Etwas intelligenter geht das kopieren mit rsync, denn hier können bestehende, unveränderte Daten erkannt und übersprungen werden.
Ich überspringe einfach mal ein Beispiel mit „cp“ und gehe gleich zum „rsync“ über.
Zuerst muss „rsync“ natürlich installiert sein.
Bei Debian geht das mit
1 |
># aptitude install rsync |
Die externe Festplatte möchte ich in das Verzeichnis „/backup“ mounten, das ich erst noch anlege.
1 2 |
># mkdir /backup ># mount /dev/sdxX /backup |
(sdxX steht hier für das erkannte USB-Laufwerk z.B: sdc1)
Jetzt kopiere ich den Inhalt vom Verzeichnis „/daten“ auf die externe Festplatte.
1 |
># rsync –a /daten/ /backup |
Was macht dieser Befehl.
Er erstellt eine File-liste der Daten aus dem Verzeichnis „/daten“ und kopiert diese dann in das Verzeichnis „/backup“. Die Option –a beinhaltet einigen Optionen (siehe man-Page rsync), wie z.B.: das rekursive kopieren der Unterverzeichnisse und kopieren von symbolischen Links. Ebenso werden die Zugriffrechte, Änderungszeit, Gruppe und Besitzer der Datei erhalten.
Führt man diesen Befehl ein weiteres mal aus, werden nur noch die Dateien kopiert, welche sich seit dem letzten Ausführen im Verzeichnis „/daten“ geändert haben. Was dieser Befehl nicht macht, ist das Löschen von Dateien im Verzeichnis „/backup“, wenn es diese im Quellverzeichnis „/daten“ nicht mehr gibt.
Mit diesem Befehl werden also alle neuen und geänderten Dateien im Verzeichnis „/daten“ in das Verzeichnis „/backup“ kopiert. Dateien, die sich nicht geändert haben, werden ausgelassen und gelöschte Dateien im Verzeichnis „/daten“ bleiben im Verzeichnis „/backup“ erhalten.
Für ein Backup klingt der Erhalt von gelöschten Dateien erstmal gut, ist aber in dieser Art relativ unbrauchbar.
Eine Möglichkeit, wie man den Erhalt von älteren Dateien eleganter löst, zeige ich im Teil 2