Lösung 1:
Ich würde es so machen:
tar -cf - /manyfiles | ssh dest.server 'tar -xf - -C /manyfiles'
Abhängig von den zu übertragenden Dateien kann es sinnvoll sein, die Komprimierung in der tar
zu aktivieren Befehle:
tar -czf - /manyfiles | ssh dest.server 'tar -xzf - -C /manyfiles'
Es kann auch sinnvoll sein, für die ssh
eine CPU-freundlichere Verschlüsselung zu wählen Befehl (wie arcfour):tar -cf - /manyfiles | ssh -c arcfour dest.server 'tar -xf - -C /manyfiles'
Oder kombinieren Sie beide, aber es hängt wirklich davon ab, was Ihr Engpass ist.
Offensichtlich rsync
wird viel schneller sein, wenn Sie inkrementelle Synchronisierungen durchführen.
Lösung 2:
Verwenden Sie rsync
statt scp
. Sie können rsync
verwenden über ssh
so einfach wie scp
, und es unterstützt „Pipelining von Dateiübertragungen zur Minimierung der Latenzkosten“.
Ein Tipp:Wenn die Daten komprimierbar sind, aktivieren Sie die Komprimierung. Wenn nicht, deaktivieren Sie es.