FTP

Bonjour:

J'ai un problème dans l'exécution de ce script. La valeur code retour OUT du ftp me retourne la valeur "0" dans tout les cas de figures du ftp, ce et donc le "if" suivant ne fonctionne pas correctement.

- Si la commande ftp réussit, la boucle if me renvoie le bon message en sortie.
- Si j'arrête le ftp sur la machine distante 172.16.22.101 le script m'affiche sur l'écran :

ftp>

- Si je fais ctrl D le script sort du ftp et continue le déroulement du script et m'affiche COPIE DE LA BASE EFFECTUEE AVEC SUCCES dans le fichier de sortie (succes$date) bien que la connexion ftp n'ait pas été établie.

Merci d'avance à qui peut m'aider.

script toto:

cd /home/man/
cp /home/man/.netrc1 /home/man/.netrc
ftp 172.16.22.101
OUT=$?
echo $OUT
if [ $OUT = 0 ]
   date >>/home/man/succes$date
   echo "COPIE DE LA BASE EFFECTUEE AVEC SUCCES" >/home/man/succes$date
else
   echo "COPIE DE LA BASE A ECHOUEE" >/home/man/erreur$date
fi

pg /home/man/.netrc1

machine 172.16.22.101 login administrateur  password xxxx
macdef init
prompt
binary
cd temp
lcd /home/man/rr_temp
mget *
prompt
bye
quit


NB: Ce script s'exécute sur une plate forme unix Solaris10, fais l'ftp sur une machine distante 172.16.22.101 dotée d'un système d'exploitation windows XP.

cordiales salutations.

3 réponses

  1. Contributeur
    Salut,

    Tiens, un thread, certes vieux, mais fort intéressant qui parle de la même chose...
    1. Contributeur
      hello
      ftp ne semble pas retourner de code d'erreur
      capturer les messages et les examiner, par ex.
      ftp 172.16.22.101 > log 2>&1
      ...
      egrep -i 'error¦warning' log
      OUT=$?
      ...
      1. je vais essayer çà ! merci dubcek!
      2. re bonjour dubcek! ça ne marche pas ! c-à-d je ne lis pas le code retour de mon ftp dans la variable
        OUT=$?
        cordiales salutations!
      3. Contributeur
        on ne lit pas le retour de ftp mais celui de grep si il a trouvé un message d'erreur, j'ais mis error|warning en exemple, il faut trouver les messages exacts
    2. Contributeur sécurité
      Bonjour,

      Devez-vous spécifier un utilisateur et un mot de passe ?
      1. Bonjour !

        Oui, je spécifie un utilisateur et un mot de passe dans un fichier .netrc propre à l'utilisateur en question.

        Merci

        cordiales salutations!