Solution 1 :
je le ferais comme ça :
tar -cf - /manyfiles | ssh dest.server 'tar -xf - -C /manyfiles'
Selon les fichiers que vous transférez, il peut être judicieux d'activer la compression dans le tar
commandes :
tar -czf - /manyfiles | ssh dest.server 'tar -xzf - -C /manyfiles'
Il peut également être judicieux de choisir un chiffrement plus convivial pour le processeur pour le ssh
commande (comme arcfour):tar -cf - /manyfiles | ssh -c arcfour dest.server 'tar -xf - -C /manyfiles'
Ou combinez les deux, mais cela dépend vraiment de votre goulot d'étranglement.
Évidemment rsync
sera beaucoup plus rapide si vous effectuez des synchronisations incrémentielles.
Solution 2 :
Utilisez rsync
au lieu de scp
. Vous pouvez utiliser rsync
supérieur à ssh
aussi facilement que scp
, et il prend en charge "le pipeline des transferts de fichiers pour minimiser les coûts de latence".
Un conseil :si les données sont compressibles, activez la compression. Si ce n'est pas le cas, désactivez-le.