Vous êtes ici : Accueil Zaclys Pedia / Les rubriques / Informatique / Système d'exploitation / Linux

Voir un article

Transfert de fichiers via ssh : plus rapide et sans limite

Le volume à transférer est trop gros pour en faire une archive ? L'arborescence est trop complexe pour du FTP ? Vous voulez utiliser une connexion sécurisée ssh ?

1/ utilisez les flux tar via un tunnel ssh (put)  :

cd dossierLocal
tar -cpf - . | (ssh serveurDistant "cd dossier; tar -xpf -")


Explication :
tar cpf - .  va produire 1 archive ('c' pour compress, 'p' pour preserve) du dossier courant '.' et envoyer le flux sur la sortie standard ('f -' pour file vers flux) ,
ce flux nous  leredirigeons via le tube '|' vers une connexion ssh vers le serveur distant,
cette connexion ssh va transmettre le flux à la commande entre en guillemets qui s'exécute sur le serveur distant , cad ici se placer dans un dossier puis lancer la commande tar en décompression (option x) , en préservant les droits (p) du flux reçu (f -)

Facile non ?



2/ Bien sur ça fonctionne aussi dans l'autre sens (get au lieu de put), pour récupérer une arborescence :

cd dossierlocal
(ssh serveurDistant "cd dossier;tar -cpf - . ") | tar -xpf -



3/ Pour accélérer encore les transferts, vous pouvez passer le flux via gzip   pour le compresser à la volée (inutile pour des jpeg et autres fichiers déjà compressés en natif) et donc diminuer le volume de data en transit sur le réseau entre les 2 machines  (car l'option c de tar ne compresse pas vraiment, il pack simplement), il suffit de rajouter l'option "z" à tar :

soit pour le get (depuis le pc local je vais récupérer les datas du serveur distant) :
cd dossierlocal; (ssh serveurDistant "cd dossier;tar -czpf - . ") | tar -xzpf -

et pour le put  (depuis le pc local j'envoie des datas vers le serveur distant ) :
cd dossierLocal; tar -czpf - . |(ssh serveurDistant "cd dossier; tar -xzpf -")



4/ Passez par des relais ssh :

Vous pouvez tout aussi facilement passer par plusieurs machines en cascade pour faire transiter le flux. Par ex la machine A peut passer par la machine B pour aller récupérer les fichiers sur la machine C. Dans ce cas depuis A :
(ssh B " ssh C 'cd dossier;tar -cpf - . ' ") | tar -xpf -


365 clics - Article du 17/11/2011 15:09 par Tito - Maj le 06/12/2011 10:13



Réagissez, commentez, discutez ...

InfoSoyez le premier à réagir !






Partager ?

facebook  twitter  Digg  Yahoo  Delicious  Technorati  myspace


Voir d'autres articles en rapport avec celui-ci ?



Stats des clics sur cet article : cliquez ici »



Vous voulez contribuer et publier un article dans cette rubrique ?

InfoMerci de vous identifier ou de vous créer un compte si ce n'est pas déjà fait.


icone user Me connecter :

InfoMerci de saisir vos identifiants.




Me reconnecter automatiquement à chaque visite avec ce navigateur :
               





retour




Faites vos achats sur Amazon et soutenez la mère Zacly :

Amazon Logo



Plan du site | Aide | Mentions légales | Réclames | © Zacly Multimédias   - Zaclys v1.17411