Solution 1 :
Je recommanderais le goudron. Lorsque les arborescences de fichiers sont déjà similaires, rsync effectue très bien. Cependant, étant donné que rsync effectuera plusieurs analyses sur chaque fichier, puis copiera les modifications, il est beaucoup plus lent que tar pour la copie initiale. Cette commande fera probablement ce que vous voulez. Il copiera les fichiers entre les machines, tout en préservant les autorisations et les propriétés des utilisateurs/groupes.
tar -c /path/to/dir | ssh remote_server 'tar -xvf - -C /absolute/path/to/remotedir'
Selon le commentaire de Mackintosh ci-dessous, il s'agit de la commande que vous utiliseriez pour rsync
rsync -avW -e ssh /path/to/dir/ remote_server:/path/to/remotedir
Solution 2 :
Disque dur externe et livraison par coursier le jour même.
Solution 3 :
J'utiliserais rsync.
Si vous les avez exportés via HTTP avec des listes de répertoires disponibles, vous pouvez également utiliser wget et l'argument --mirror.
Vous voyez déjà que HTTP est plus rapide que SCP car SCP chiffre tout (et donc goulot d'étranglement sur le CPU). HTTP et rsync vont aller plus vite car ils ne chiffrent pas.
Voici quelques documents sur la configuration de rsync sur Ubuntu :https://help.ubuntu.com/community/rsync
Ces documents parlent de la tunnellisation de rsync sur SSH, mais si vous ne faites que déplacer des données sur un réseau local privé, vous n'avez pas besoin de SSH. (Je suppose que vous êtes sur un réseau local privé. Si vous obtenez 9 à 10 Mo/sec sur Internet, je veux savoir quel type de connexion vous avez !)
Voici quelques autres documents très basiques qui vous permettront de configurer un serveur rsync relativement non sécurisé (sans dépendance à SSH) :http://transamrit.net/docs/rsync/
Solution 4 :
Sans trop discuter, utilisez netcat, le couteau suisse du réseau. Pas de surcharge de protocole, vous copiez directement sur le socket réseau.Exemple
srv1$ tar cfv - *mp3 | nc -w1 remote.server.net 4321
srv2$ nc -l -p 4321 |tar xfv -
Solution 5 :
Avec beaucoup de fichiers si vous utilisez rsync, j'essaierais d'obtenir la version 3 ou supérieure aux deux extrémités . La raison en est qu'une version inférieure énumérera chaque fichier avant de commencer le transfert. La nouvelle fonctionnalité s'appelle incremental-recursion .
Un nouvel algorithme de récursivité incrémentale est désormais utilisé lorsque rsync communique avec une autre version 3.x. Cela démarre le transfert plus rapidement (avant que tous les fichiers aient été trouvés) et nécessite beaucoup moins de mémoire. Voir l'option --recursive dans la page de manuel pour certaines restrictions.