IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

(Bash) GET sur une liste de FTP


Sujet :

Linux

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut (Bash) GET sur une liste de FTP
    M'sieur dame bonjour ,

    Alors je commencerais ce topic en disant que mon niveau en développement et quasi nul
    Je cherche a récupérer une ligne dans un même (nom) texte sur plusieurs FTP
    je sais pas si c'est tres clair mais mon BATCH actuel va clarifier ma demande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /f "eol=; tokens=1*" %%i in (liste_ip.txt) do call :B1 %%i 
    goto :end
    :B1
    set ip=%1
    curl --connect-timeout 5 -m 10 -v ftp://login:passwd@%1/home/logs/watchdog.log |find "alive" >> alive.txt
    goto :EOF 
    :end
    liste_ip.txt ressemble tout simplement a (sur 1000 a 1600ip) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    192.168.1.65
    192.168.2.78
    10.1.25.78
    info :

    le nom du fichier a lire sur les FTP est toujours le meme : watchdog.log
    l'auth des FTP (login\pass) et aussi tjrs le meme
    la ligne contenant le mot *alive* devra être entierement copier dans alive.txt
    comme dans mon batch , il faut un timeout si le FTP ne répond pas au bout de 5sec celui ci est skip
    et un temps de tranfers maximum , si un transfers prend plus de 10sec il est skip et passe au prochain FTP

    alors :

    1) celui ci fonctionne sous windows mais je voudrais que ce sois sous Linux
    2) (le plus important) j'aimerais que les GET ne ce fasse pas FTP par FTP mais par exemple 50ftp par 50ftp ( en "multithread") ,
    pourquoi pas en lançant 50 curl ... je sais pas
    je ne tien pas forcement au BASH , perl python pourrait faire l'affaire

    voila , j'espère ne pas en demander trop :s et avoir été assez clair
    merci d'avance de m'accorder un moment

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 589
    Points : 19 474
    Points
    19 474
    Par défaut
    bonjour,

    en gros, vu le format du fichier :
    Code Bash non-testé : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for ip in $(<liste_ip.txt)
    do curl --connect-timeout 5 -m 10 -v ftp://login:passwd@$ip/home/logs/watchdog.log | grep 'alive' >> alive.txt &
    done

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    hé biiiiiiiiiiiiiiiiiiiiiin je crois que ca fonctionne hein ...
    je peu pas être sur tellement c'est rapide mais apriori c'est OK

    merci a toi N_BaH

    pour le petit bonus , tu crois qu'il est possible que l'ip aparraisse devant la ligne "GREPé ?

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 589
    Points : 19 474
    Points
    19 474
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ip in $(<liste_ip.txt)
    do echo -n "$ip " >> alive.txt
       curl --connect-timeout 5 -m 10 -v ftp://login:passwd@$ip/home/logs/watchdog.log | grep 'alive' >> alive.txt &
    done

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 21/11/2008, 22h59
  2. simuler un double click sur une liste dans un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 10h45
  3. Réponses: 4
    Dernier message: 16/06/2005, 15h37
  4. Selectionnet tous ou faire un clear sur une liste
    Par Canou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/11/2004, 10h26
  5. [Débutant][jsp] évènement sur une liste
    Par phoebe dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 14/05/2004, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo