Schnellste Möglichkeit, kleine Dateien über ein sicheres Netzwerk zu kopieren, ohne Rücksicht auf Dateiänderungszeiten oder -größe

Schnellste Möglichkeit, kleine Dateien über ein sicheres Netzwerk zu kopieren, ohne Rücksicht auf Dateiänderungszeiten oder -größe

Ich möchte Dateien in Dir1 und Dir2 (zwei verschiedene Server) synchronisieren.

Dabei ist es mir egal, ob die Dateigrößen oder Änderungszeiten unterschiedlich sind.

BEISPIEL: dir1 enthält file1, file2, file3, file4 und dir2 enthält file2, file3, file5

Ich möchte, dass Datei5 in Verzeichnis1 und Datei1 und Datei4 in Verzeichnis2 kopiert werden.

Beachten Sie, dass die Größe von Datei2 und die Änderungszeiten von Datei3 unterschiedlich sind, aber das ist mir egal. Mein Netzwerk ist auch privat, daher möchte ich keinen Sicherheitsaufwand.

Was wäre am schnellsten:

rsync, scp oder cp über NFS-Mount? Und wie lautet die entsprechende Befehlszeile genau?

Antwort1

Es ist weitgehend akademisch, da Ihr limitierender Faktor höchstwahrscheinlich Ihre Netzwerkbandbreite sein wird. Das einzige, worauf Sie wirklich achten müssen, ist die Dateigröße im Vergleich zur Anzahl der Vorgänge – viele kleine Dateien führen zu vielen kleinen Kopiervorgängen.

Aber so wie die Dinge stehen, lässt sich schwer mit Sicherheit sagen, was am „Schnellsten“ sein wird, denn „es kommt darauf an“.

Es würde mich überraschen, wenn Sie so viele Probleme mit hätten rsync, aus dem einfachen Grund, dass es vor dem Kopieren prüft, ob es etwas tun muss. Es gibt kaum etwas Effizienteres, als Dinge, die Sie nicht benötigen, nicht zu kopieren.

Wenn Sie viele kleine Dateien haben, tarist es möglicherweise besser geeignet – tares ist für das Schreiben auf Bänder konzipiert und eignet sich daher recht gut zum Streamen einer Verzeichnisstruktur über ein Netzwerk. Beispiel:

tar cvfz - ./path_to_copy | ssh $remotehost "( cd $destination && tar xvfz - )"

verwandte Informationen