Lftp

Résolu
Bonsoir à tout le monde,

Comment-on peut télécharger une arborescence avec lftp dans une seule commande?

Dans le dossier parent il y a plusieurs dossiers fils qui contient des fichiers.

Il y a une possibilité de télécharger recursivement avec lftp?

Merci d'avance.

8 réponses

  1. 4 ans après lol
    La solution est effectivement dans LFTP (peux être une nouvelle version)
    Voir http://doc.ubuntu-fr.org/lftp

    Mise à jour de votre site Internet modifié localement (Upload recursif)
    lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "mirror -e -R -x dossier_ignoré -x dossier_ignoré /emplacement_local /emplacement_distant ; quit"

    Sauvegarde sur votre ordinateur de votre site Internet (download recursif)
    lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "mirror -e -x dossier_ignoré -x dossier_ignoré /emplacement_distant /emplacement_local ; quit"

    J'espère que ça servira aux nouveaux qui cherchent et qui tombe sur ce post (trop bien référencé) qui restait sans solution
    1. Contributeur
      Salut lami20j,

      La réponse me semble être dans le manuel (... ce qui est souvent le cas des questions "peut-on faire ceci avec tel programme") :

      http://lftp.yar.ru/lftp-man.html

      mirror [OPTS] [source [target]]

      Mirror specified source directory to local target directory.
      If target directory ends with a slash, the source base name
      is appended to target directory name. Source and/or target
      can be URLs pointing to directories.


      Je ne connaisais pas ce client ftp, il a l'air intéressant :)

      Dal
      1. Salut Dal,

        Le manuel je l'ai lu et pas une seule fois.

        Je cite de manuel :

        "source directory to local target directory."

        dossier source vers dossier local (target = cible)

        Ce qui m'interesse plutôt c'est quand je veux par exemple te transferer sur ton disc une arborescence.

        lftp dal@xxx.xxx.xxx.xxx:/music> mput -d AAA/*.*
        ca ca marche si dans AAA il n'y a que des fichieres

        En revanche je ne sais pas comment il faut faire si jamais AAA contient les rep BBB et CCC

        lftp dal@xxx.xxx.xxx.xxx:/music> mput -d AAA/BBB/*.*
        lftp dal@xxx.xxx.xxx.xxx:/music> mput -d AAA/CCC/*.*

        Si je fais comme ca c'est bon mais si dans AAA j'ai 20 répertoires?????

        Normalement quand on veut transferer plusieurs fichiers depuis le server ftp sur une hôte distante on utilise normalement mput.

        Cependant je n'arrive pas envoyer mon arborescence d'un coup.
        Et j'aimerais savoir si lftp permet (et dans ce cas ca veut dire que je n'ai pas compris ce qu'il est écrit dans le manuel) ou lftp ne peut pas fairs ca.

        P.S. Ce client il a l'air trés interessant pour ceux qui aiment le shell

        Je cite du manuel :

        "lftp - Sophisticated file transfer program" et c'est vrai
        1. mirror -R, il faut lire le man!!

          Je cite : "-R, --reverse reverse mirror (put files)"
        2. Modérateur
          Salut,

          En effet j'ai beaucoup lu depuis 2005, merci zipe ;-)

          Merci aussi à Max d'avoir donner la réponse ;-)), même si c'est après quelques années ça peut toujours servir ;-)

          Bonne soirée ;-)

          lami20j
      2. Contributeur
        Salut,

        Sans avoir utilisé cet utilitaire, j'ai présumé que la fonction "mirror" permet effectivement d'effectuer une copie récursive (et ce par défaut), en raison du fait que "mirror" comporte une option décrite dans le manuel "-r, --no-recursion don't go to subdirectories" qui permet d'éviter la récursion si elle n'est pas souhaitée.

        Si lftp ne marche pas pour toi, tu peux toujours utiliser wget, comme expliqué ici :

        http://www.commentcamarche.net/forum/affich-1332787-Commande-ftp-pour-copier-un-repertoire

        Dal
        1. Contributeur
          Désolé pour ce message, il est parti alors que je ne t'avais pas répondu sur la question de l'upload... voir le suivant.

          Dal
      3. Contributeur
        Salut,

        Sans avoir utilisé cet utilitaire, j'ai présumé que la fonction "mirror" permet effectivement d'effectuer une copie récursive (et ce par défaut), en raison du fait que "mirror" comporte une option décrite dans le manuel "-r, --no-recursion don't go to subdirectories" qui permet d'éviter la récursion si elle n'est pas souhaitée.

        Pour l'upload l'option "-R, --reverse reverse mirror (put files)" peut être utilisée selon le manuel.

        Si lftp ne marche pas pour toi, tu peux toujours utiliser wget, comme expliqué ici (mais en download seulement) :

        http://www.commentcamarche.net/forum/affich-1332787-Commande-ftp-pour-copier-un-repertoire

        Sinon, tu peux peut être te tourner vers rsync

        Dal
        1. Merci Dal,

          Je vais essayer.
          Bonne soirée.
      4. Et donc pour encore simplifier la réponse, c'est bien l'attribut -R qui permet l'upload.

        --
        1. Contributeur
          Salut,

          C'est ce que je disais, me semble-t-il le mercredi 9 mars 2005 à 20:07:59

          Pour l'upload l'option "-R, --reverse reverse mirror (put files)" peut être utilisée selon le manuel.

          ;-)

          Dal
          1. Modérateur
            Wow !!! Un revenant !!!

            Comment qu'il va bien ?

            Happy to see you again ;-))
          2. Modérateur
            Salut,

            Et j'ai très bien compris ;-DDD

            Comment ça va? ;-)