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

Shell et commandes GNU Discussion :

ftp et redirection


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut ftp et redirection
    Bonjour,

    J'ai développé il y a quelques mois un script ftp générique pour AIX et SUN. Je porte aujourd'hui ce script sur linux redhat et je suis confronté à un comportement étrange lors de l'exécution d'une commande ftp en mode batch.

    Voici un exemple de fichier de commande (cmd.txt):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    user monuser monpassword
    ascii
    lcd monRépertoireLocal
    cd monRépertoireDistant
    verbose
    !echo "###FILE_LIST_START###"
    dir *.txt
    !echo "###FILE_LIST_END###"

    Lorsque je lance la commande ftp -nvi host <cmd.txt, j'obtiens l'output suivant:

    Connected to host(ip).
    220 host FTP server (Version 4.2) ready.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    331 Password required for ****.
    230-Last login: Tue Jan  8 15:34:08 NFT 2013 on ftp from ******
    230 User **** logged in.
    200 Type set to A; form set to N.
    Local directory now monRépertoireLocal
    250 CWD command successful.
    Verbose mode off.
    ###FILE_LIST_START###
    -rw-r--r--    1 ******  ****** 712580 Jan 08 06:10 file1.txt
    ###FILE_LIST_END###
    => L'output suit correctement l'enchaînement des commandes du fichier cmd.txt


    Maintenant lorsque je lance la même commande mais en redirigeant l'output dans un fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ftp -nvi host <cmd.txt 1>toto.txt 2>&1
    J'obtient (cat toto.txt) :

    Connected to host(ip).
    220 host FTP server (Version 4.2) ready.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    331 Password required for ****.
    230-Last login: Tue Jan  8 15:34:08 NFT 2013 on ftp from ******
    230 User **** logged in.
    200 Type set to A; form set to N.
    Local directory now monRépertoireLocal
    250 CWD command successful.
    ###FILE_LIST_START###
    ###FILE_LIST_END###
    Verbose mode off.
    -rw-r--r--    1 ******  ****** 712580 Jan 08 06:10 file1.txt

    L'output des commandes locales sont redirigés avant l'output des commandes distantes ?!


    Après plusieurs heures de recherche je ne comprend pas ce comportement ni même un moyen de contourner ce problème sans modifier une grande partie de mon script qui doit rester générique (AIX|SUN|LINUX)


    J'espère être suffisamment clair dans l'explication
    Il est très simple de reproduire ce cas.

    Toutes les idées ou suggestions sont les bienvenues !


    Merci d'avance !

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    pour qu'un script soit GARANTI multi plateforme quelque soient les évolutions futures de chacunes il est impératif d'appliquer la méthode suivante :
    1. identifier la plateforme
    2. lancer une fonction spécifique à la plateforme (donc 3 sous-scripts qui eux sont spécifiques)


    toute autre méthode est à proscrire définitivement



    quand à ton problème de redirection tu peux tester avec un pipe tee plutot qu'une redirection d'autant plus que tu redirige 1> alors que > sera plus pertinant pour logguer un ftp...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse rapide.
    J'avais déjà essayé plusieurs solutions dont "| tee" mais sans succès.

    Je comprend bien le fait de splitter le script en différentes fonctions, mais avant d'en arriver là, j'aurais aimé comprendre pourquoi le comportement est différent sur cette plateforme.

    Je suis juste curieux


    Merci en tout cas.

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

Discussions similaires

  1. Redirection vers dossier ftp
    Par Klaim dans le forum Apache
    Réponses: 5
    Dernier message: 21/06/2010, 00h20
  2. redirection de port : ftp
    Par organik19 dans le forum Réseau
    Réponses: 0
    Dernier message: 31/05/2010, 12h43
  3. [WS 2003] Redirection de port sur Serveur FTP
    Par CTotophe85 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 09/04/2009, 17h35
  4. [FTP] probleme de redirection de site
    Par kriss_87 dans le forum Langage
    Réponses: 10
    Dernier message: 14/05/2006, 17h00

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