#1 Le 07/04/2010, à 10:55
- Tet2brick
Récuperer TOUTE la sortie de lftp
Hello à tous,
Je ne sais pas trop si c'est lié à lftp ou un problème de sortie console, je poste ici, ça me semble le plus logique.
Lorsque j'utilise lftp directement dans la console pour télécharger un fichier ou un répertoire il me sort quelque chose comme ça:
# lftp -e "mirror -v books/ serverBooks/" -p 21 -u user,mdp ftp://monserveur.com
#Transfert du fichier «Vol1.pdf »
#Transfert du fichier «Vol2.pdf »
#«Vol2.pdf » à 18415616 (64%) 1.25Mo/s reste :1s [Réception des données]
La dernière ligne indiquant en temps réel l'avancement du téléchargement du fichier en cours.
Maintenant si je souhaite sauvegarder cela dans un fichier (parce que j'exécute en cron cette tâche par exemple et que j'aimerais connaitre l'avancement du téléchargement)
# lftp -e "mirror -v books/ books/Vol1.pdf" -p 21 -u user,mdp ftp://monserveur.com >> fichier.txt
Fichier.txt ne contient que les lignes "statiques" (#Transfert du fichier «Vol1.pdf », #Transfert du fichier «Vol2.pdf », etc) d'autres s'ajoutent au fur et à mesure des téléchargement si je télécharge tout un dossier, mais je n'ai pas le pourcentage d'avancement (ni les autres infos de la dernière ligne) pour le fichier en cours.
Est ce possible de récupérer ces infos la?
Je ne sais pas si j'ai été vraiment clair, mais merci d'avance
Hors ligne
#2 Le 08/04/2010, à 03:21
- sputnick
Re : Récuperer TOUTE la sortie de lftp
C'est tordu ton truc, mais si tu y tient, tu peux utiliser ca par exemple pour rejouer le match :
script -t 2> typescript.timingfile typescript.output -c "lftp -e 'get tmp/do-transfer-stats.pl;quit' ftp://ftp.free.fr"
scriptreplay typescript.timingfile typescript.output
Peux être avec "expect" aussi c'est possible.
Une solution surement plus adaptée c'est wget si tu veux garder plus d'infos :
wget -r ftp://ftp.free.fr/mirrors/mplayerhq.hu/MPlayer > /tmp/log 2>&1
L'option -r, ça fait la même chose que ton option mirror de lftp.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne