Minimalteck.fr
Accueil du site > Admin > Accélérer les copies distantes avec tar sur ssh

Accélérer les copies distantes avec tar sur ssh

lundi 25 mai 2009, par Minimalteck

Contexte : vous devez copier depuis une machine distante un important volume de données... la première idée qui vient est sans doute scp...
Mais on peut optimiser le transfert en utilisant tar sur ssh :

- Récupération depuis une machine distante du répertoire "local_directory_to_backup" situé dans le chemin "local_path_parent_directory" :

ssh root@machinelointaine “cd path_of_parent_directory; tar czf -  local_directory_to_backup" | tar xzf - -C local_path_for_backup

- Téléchargement du répertoire "local_directory_to_backup" vers la machine distante dans le répertoire "remote_path_for_backup"

tar czf - local_directory_to_backup | ssh root@machinelointaine "tar xzf - -C remote_path_for_backup"

- Il apparaît même qu’en substituant la compression via tar avec gzip/gunzip on obtient un résultat encore meilleur... la commande devient alors :

ssh root@machinelointaine “cd path_of_parent_directory; tar cf -  local_directory_to_backup | gzip" | gunzip -q | tar xf - -C local_path_for_backup

Ceci est surtout utile pour une copie/sauvegarde ponctuelle ; si le contexte est celui de sauvegardes récurrentes, creusez plutôt du côté de RSync.

P.-S.

Références :
- OpenSSH (fr)
- Man tar (fr)
- FAQ GZIP

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0