Commande ftp pour récupérer un dossier complet

SuperCed

Membre expert
Club iGen
20 Juin 2001
1 347
72
45
superced.rb38.eu
Voilà, tout est dans le titre.

Je connais un peu la commande ftp du terminal.
Celle-ci me permet de télécharger un fichier. Cependant, j'aimerais savoir comment télécharger tout un dossier avec son contenu. Est-ce réalisable avec cette commande?
J'utilise put pour récupérer un fichier, mais get ne fonctionne pas sur les répertoires.
 
Hello,
Le client FTP de base ne crée pas les répertoires... donc tu pourras pas ;)

Par contre, je te conseille d'utiliser ncftp qui fera exactement ce que tu veux via un get -r TON_REPERTOIRE

:zen:
 
  • J’aime
Réactions: molgow
Le client ne crée pas les répertoire? Tu veux dire en local?
Si je fais un !mkdir monRep, ça ne fonctionne pas?

J'essaierai ncftp, je connais déjà un peu la version serveur en plus (ncftpd).
 
Ce qui m'intéressait, c'était justement avec CE client ftp.

Mais bon, ça semble impossible.
 
mget remote-files
Expand the remote-files on the remote machine and do a get
for each file name thus produced. See glob for details on
the filename expansion. Resulting file names will then be
processed according to case, ntrans, and nmap settings.
Files are transferred into the local working directory, which
can be changed with `lcd directory'; new local directories
can be created with `! mkdir directory'
.

C'est pas possible de recuperer directement un repertoire mais tu peux faire un script qui :
- liste l'arborescence du remote client (via un ls)
- fait un mkdir pour chaque repertoire recontre
- faire un mget *.* pour recuperer tous les fichiers
 
Si tu utilise le client ftp en ligne de commande lftp (que tu peux obtenir avec Fink) c'est tout à fait possible:

une fois logué, tu tapes :

mirror répertoire

et tu auras une copie complète du répertoire distant dans ton répertoire local

Bonne chance