Dies ist ein Thema, auf das ich keine endgültige Antwort finden konnte, oder zumindest eines mit einer guten Erklärung, warum eine Lösung besser ist als die andere. Nehmen wir an, ich habe zwei lokale Laufwerke, eines mit zu kopierenden Dateien, eines leer. Eine Rückmeldung ist nicht erforderlich, die Leistung ist jedoch mit ein paar Einschränkungen optimal.
- Die Dateistruktur von einem Punkt abwärts muss konsistent sein. Zum Beispiel können die Dateien in dem Verzeichnis gespeichert werden ,
x
wox
befindet sich unter/my_drive_a/to_copy/files/x/
- aber wenn ich es zu kopieren/my_drive_b/
, würde Ich mag es nur von zu strukturierenden/files/
nach unten. Das Ergebnis könnte also so aussehen/my_drive_b/files/x/
. - Die Dateien werden nicht jedes Mal gleich übertragen, daher ist eine Funktion
rsync
möglicherweise nicht vorteilhafter als eine Funktion wiecp
. - Die Anzahl der Dateien wird in Tausenden liegen, obwohl sie alle klein sind.
- Die Daten müssen kopiert und gespeichert werden
my_drive_a
.
Mein erster Gedanke wäre einfach zu tun cp -R /my_drive_a/to_copy/files/x/ /my_drive_b/files/x/
. Auch hier bin ich mir aufgrund der begrenzten Erfahrung mit Kopierfunktionen unter Linux nicht sicher, ob dies eine optimale Lösung für das Kopieren einer so großen Anzahl von Dateien ist.
rsync
rsync
?scp
Kopieren vieler Daten gemacht - ich habe es einmal versucht und es ist abgestürzt. 2. Wenn die Verbindung unterbrochen wurde,rsync
werden nicht alle Dateien von Anfang an kopiert, sondern nur die Dateien, die noch nicht kopiert wurden. 3. Funktioniertrsync
sowohl lokal als auch über,ssh
sodass Sie ein einziges Tool mit denselben Optionen verwenden könnenAntworten:
Geh einfach mit
cp
.coreutils
sind gut optimiert und werden hervorragende Leistungen erbringen. Mit Ausnahme von--archive
flag sollten Sie die Verwendung in Betracht ziehen--sparse=never
, wenn Sie vorhersagen, dass keine spärlichen Dateien vorhanden sind. Dies wird dummcp
und spart Zeit.Warum nicht
rsync
? Es wird versucht, die Dateien zu analysieren, zu sortieren (siehe "SORTIERTE ÜBERTRAGUNGSAUFTRAG" inman rsync
) und es ist sehr schwierig, nützliche Fortschrittsinformationen zu drucken, ohne den gesamten Prozess ernsthaft zu behindern. Während einige der Optionen deaktiviert werden können, sind einige obligatorisch und führen zu einer langsameren Ausführungszeit.Abhängig von der Größe Ihrer Daten ist es möglicherweise schneller, die gesamte Festplatte (z.
/dev/sda
B.) mit Programmen wiedd
oder zu kopierenddrescue
, aber es ist schwer zu sagen, wann diese Option schneller sein wird.quelle