Einfachster Weg zur schnellen Übertragung von Dateien zwischen Linux-Servern?

Einfachster Weg zur schnellen Übertragung von Dateien zwischen Linux-Servern?

Ich muss Dateien von einem CentOS-Server auf einen anderen übertragen. Etwa alle 10 Minuten werden 5 MB große Dateien übertragen. Keine Verschlüsselung erforderlich.

Was ist eine einfache Möglichkeit zur schnellen Dateiübertragung?

Gibt es etwas Einfacheres als FTP?

Danke!

Antwort1

rsync

Ich würde rsync verwenden, bevor ich ftp oder tftp verwende.

Mehr Optionen und (meiner Erfahrung nach) zuverlässigere Übertragung.

Antwort2

Tar über SSH ist ok, aber Tar über TCP über Netcat ist der niedrigste Overhead, den man bekommen kann! Wenn dies eine einmalige Sache ist, probieren Sie Folgendes aus:

Am Empfänger:

nc -l -p 8989 | tar x

Zum Absender:

tar cf - /source-path | nc (receiving host ip address) 8989

Wenn Sie dies regelmäßig tun, würde ich wahrscheinlich rsync verwenden.

Antwort3

Zwei Leute haben Tar über SSH erwähnt, aber nicht gesagt, wie das geht. Zur Erinnerung: Das grundlegende Verfahren besteht darin, Folgendes auszuführen:

tar cf - files... | ssh remotehost 'cd /destination && tar xvf -'

Oder, wenn Sie Überweisungen vom Empfängerende aus starten möchten:

ssh remotehost 'cd /source && tar cf - files' | tar xvf -

Der Vorteil dieser Vorgehensweise gegenüber Evans Netcat-Lösung besteht darin, dass das Ganze von einem Computer aus gestartet werden kann; Sie müssen nicht zwei Netcat-Aufrufe koordinieren. Wenn dies automatisch ausgeführt werden soll, können Sie einen SSH-Schlüssel einrichten, mit dem Sie Verbindungen ohne Passphrase herstellen können, und diesen Schlüssel für diese Verbindungen verwenden.

ssh verfügt über die Option -C zum Komprimieren seines Datenstroms, oder Sie können die integrierte Komprimierungsfunktion von GNU Tar verwenden:

tar zcf - files... | ssh remotehost 'cd /destination && tar xzvf -'

Rsync ist eine weitere Option, aber seine Stärke liegt darin, Dateien zu aktualisieren, die auf der Empfängerseite bereits vorhanden sind. Ich habe festgestellt, dass es langsamer ist als scp oder tar/ssh, wenn man damit Dateien überträgt, die auf der anderen Seite noch nicht vorhanden sind.

Antwort4

Wenn Sie scp/ssh verwenden müssen, zeigen meine Experimente, dass RC4 derzeit die schnellste Verschlüsselung ist, die standardmäßig aktiviert ist. Sie geben die Verschlüsselung über '-c Bogenvier' in Ihrem SSH/SCP-Befehl:

für Erstkopie:

  • scp -c arcfour -r foo/ desthost:/destdir

für Updates:

  • rsync -e 'ssh -c arcfour' -r foo/ desthost:/destdir

verwandte Informationen