3 mai 2011
Reprise de transfert scp avec rsync
Des fois il y a des choses qui énervent, et pas seulement les discours présidentiels. Par exemple quand on envoie une belle archive dodue de 5Go sur un serveur distant par scp et qu’au bout de 8h et 4Go le transfert plante. Si on relance bêtement le transfert scp, tout repart à zéro, scp ne gère pas les reprises de transfert. En revanche rsync fait ça très bien avec l’option –partial, c’est donc un outil beaucoup plus adapté au transferts de gros fichiers, et il est tout à fait capable de reprendre un transfert partiel initié par scp.
Il faut que rsync soit installé sur les deux machines, sous Debian le problème se règle avec un
aptitude install rsync
On lance ensuite le transfert ou la reprise de transfert :
rsync --partial --rsh="/usr/bin/ssh" fichier_source destination
Si on veut un indicateur de progression on ajoutera l’option –progress. L’option -P équivaut à –partial –progress :
rsync -P --rsh="/usr/bin/ssh" fichier_source destination
On peut ajouter des options ssh, par exemple un port différent :
rsync -P --rsh="/usr/bin/ssh -p 2222" fichier_source destination
et si on a peur de ne pas se souvenir de la syntaxe de rsync on peut toujours se bricoler un petit alias comme ça :
alias scpplus="rsync -P --rsh=\"/usr/bin/ssh\""