2 votes

Télécharger plusieurs fichiers à la fois via SSH

Je veux télécharger un dossier à partir d'un serveur contenant plusieurs milliers de fichiers en utilisant ssh. J'utilise Ubuntu et je n'ai pas les droits d'écriture sur le serveur, je ne peux donc pas créer un .tar sur le serveur et le copier ensuite. Mais le téléchargement de tous les fichiers individuellement est très lent.

Comment puis-je télécharger ce dossier avec autant de fichiers en une seule archive en utilisant la ligne de commande ?

2voto

mtak Points 14830

Vous pourriez faire quelque chose comme ça :

ssh username@hostname 'tar -cf - /dir/to/download' | gzip > remote_files.tgz

Cette opération exécutera tar sur le serveur distant, mais au lieu d'écrire dans un fichier, elle produira une sortie dans le fichier stdout . Il sera renvoyé par SSH sur votre machine locale, compressé et ensuite écrit dans un fichier.

2voto

TiberiusKirk Points 41

La copie sécurisée "scp" est installée avec OpenSSH. Cela devrait donc faire l'affaire...

scp -r username@yourserver.com:/path/to/remote/files /path/to/local/files

-r Copie récursivement des répertoires entiers.

man scp pour tous les détails.

2voto

crimson-egret Points 2977

Les deux réponses précédentes fonctionneront, mais je suis surpris que personne n'ait mentionné rsync comme dans :

rsync -az username@yourserver.com:/path/to/remote/files/ /path/to/local/files/

En prime, si la connexion est interrompue, vous pouvez la redémarrer et elle trouvera ce qu'il reste à copier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X