Dateimanagement: Umfangreiche Kopieraktionen
Es scheint eine triviale Angelegenheit zu sein, große Mengen an Dateien mit mehreren hundert GB Umfang unter Linux in einer Kopieraktion von einem Laufwerk A auf ein Laufwerk B zu schaufeln. Tatsächlich sind aber grafische Dateimanager der Aufgabe oft nicht gewachsen, wenn es um viele tausend Dateien und Verzeichnisse geht. Am zuverlässigsten arbeitet immer noch ein alter Bekannter in der Kommandozeile. Das Programm Rsync ist als Synchronisationswerkzeug für seine Netzwerkfähigkeiten bekannt, aber es arbeitet genauso gut mit lokalen Datenträgern. Der Vorteil gegenüber anderen Befehlen und Programmen: Es macht auch bei größten Datei- und Datenmengen nicht schlapp, kann unterbrochene Kopieraktionen zu einem späteren Zeitpunkt wiederaufnehmen und – anders als die schlichten Kommandozeilentools cp und mv – zeigt es auf Wunsch eine Fortschrittsanzeige an. Letzteres ist gerade bei lang andauernden
Kopieraktionen ein Muss. Die Befehlssyntax von Rsync unterscheidet sich beim Einsatz auf lokalen Datenträgern nicht erheblich von Aktionen über eine Netzwerkverbindung – anstatt eines Hostnamens und Datenträgerpfades werden ganz einfach nur die Pfade von Quellund Zielordner angegeben: rsync [Optionen] [Quelle]
[Ziel]
Soweit keine Überraschungen. Ausschlaggebend sind jedoch die angegebenen Optionen, damit Rsync als Kopierwerkzeug für ganze Verzeichnisbäume auch das tut, was es soll. Besonders wichtig ist dabei, mit der Option „--inplace“zu unterbinden, dass Rsync die Kopie einer übertragenen Datei zunächst als Kopie am Ziel anlegt. Dies wäre das Standardverhalten für den Einsatz im Netzwerk, führt aber bei sehr vollen Datenträgern zu Platzproblemen. Außerdem ist bei lokalen Operationen ein Komprimieren der Daten während der Übertragung unnötig. So ergeben sich insgesamt die folgenden Optionen: rsync -avhw --no-compress --progress [Quelle]/ [Ziel]/
Diese Zeile kopiert den Inhalt der Quelle samt aller Unterordner, Symlinks und Zugriffsrechte in das Zielverzeichnis.