Was Sie wollen, ist rsync.
Dieser Befehl kann verwendet werden, um einen Ordner zu synchronisieren und auch das Kopieren fortzusetzen, wenn es auf halbem Weg abgebrochen wurde. Der Befehl zum Kopieren einer Festplatte lautet:
rsync -avxHAX --progress / /new-disk/
Die Optionen sind:
-a : all files, with permissions, etc..
-v : verbose, mention files
-x : stay on one file system
-H : preserve hard links (not included with -a)
-A : preserve ACLs/permissions (not included with -a)
-X : preserve extended attributes (not included with -a)
Um die Kopiergeschwindigkeit zu verbessern, fügen Sie -W
hinzu (--whole-file
), um die Berechnung von Deltas/Diffs der Dateien zu vermeiden. Dies ist die Standardeinstellung, wenn sowohl die Quelle als auch das Ziel als lokale Pfade angegeben sind, da der wirkliche Vorteil des Delta-Übertragungsalgorithmus von rsync darin besteht, die Netzwerknutzung zu reduzieren.
Erwägen Sie auch, --numeric-ids
hinzuzufügen um zu vermeiden, dass uid/gid-Werte nach Benutzer-/Gruppennamen zugeordnet werden.
Die Antwort von Michael Aaron Safyan berücksichtigt keine spärlichen Dateien. -S
Option behebt das.
Außerdem spammt diese Variante nicht mit jeder fortschreitenden Datei und führt keine Delta-Synchronisierung durch, was die Leistung in Nicht-Netzwerk-Fällen beeinträchtigt.
Perfekt zum Kopieren des Dateisystems von einem lokalen Laufwerk auf ein anderes lokales Laufwerk.
rsync -axHAWXS --numeric-ids --info=progress2
Ich benutze oft
> cp -ax / /mnt
Angenommen, /mnt ist die neue Festplatte, die auf /mnt gemountet ist, und es gibt keine anderen Mounts auf /.
das -x hält es auf dem einen Dateisystem.
Dies muss natürlich als root oder mit sudo erfolgen.
Für diesen Link gibt es einige Alternativen, einschließlich der obigen
http://linuxdocs.org/HOWTOs/mini/Hard-Disk-Upgrade/copy.html