FTP

richy -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Dinath Messages postés 1697 Statut Contributeur sécurité 218
     
    Bonjour,

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

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

      Merci

      cordiales salutations!
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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=$?
    ...
    0
    1. richy
       
      je vais essayer çà ! merci dubcek!
      0
    2. richy
       
      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!
      0
    3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      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
      0
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Tiens, un thread, certes vieux, mais fort intéressant qui parle de la même chose...
    0