Ich benutze rsync seit einiger Zeit, um Dateien zu kopieren. Nach meinem Verständnis ist rsync schneller als cp, wenn sich einige der zu übertragenden Dateien bereits im Zielverzeichnis befinden und nur die inkrementelle Differenz (dh die "Deltas") übertragen werden.
Wenn dies korrekt ist, hätte es einen Vorteil, rsync zu verwenden, um den Inhalt eines Ordners A , zum Beispiel eines Ordners B , zu verschieben, wobei B leer ist?
Der Ordner A enthält fast 1 TB Daten (und Millionen von Dateien). Die Übertragung würde über ein lokales Netzwerk erfolgen ( A und B befinden sich auf verschiedenen Dateisystemen, die beide auf einem Supercomputer installiert sind , z. B. A ist NFS und B ist Luster ).
Welche Flags sollte ich außerdem verwenden, um rsync aufzufordern , Dateien von A nach B zu verschieben (nicht zu kopieren) (dh A zu löschen, wenn die Übertragung erfolgreich abgeschlossen wurde)?
mv
schneller machen würde ?
mv
kann über ein Netzwerk nicht funktionieren - es würde einen lokalen Mount (zB NFS) angewiesen. Wenn der Engpass im Netzwerk liegt, rsync
wäre das wahrscheinlich schneller, als mv
da rsync
Komprimierung machen kann.
cp
hat die -u
Option, Quelldatei zu kopieren, wenn es neuer als die Zieldatei ist oder wenn die Zieldatei fehlt
rsync
ersetzen zu könnenmv
. Ich würde erwartenmv
, dass die meisten Dateisystemtypen schneller sind, wenn sich Quelle und Ziel im selben Dateisystem befinden, darsync
unabhängig davon eine Kopie erstellt werden müsste undmv
wahrscheinlich einige Verzeichniseinträge geändert werden müssen. Das nächste, was ich zu einem finden kann,rsync mv
ist der--remove-source-files
Befehl, aber das entfernt keine Verzeichnisse.