Récupérer le résultat d'un FTP

loulou -  
 esalagea -
Bonjour,

J'exécute une commande FTP dans un shell script.
Je veux récupérer le code retour (status code) pour savoir si le FTP a bien fonctionné ou pas car dans la négative je veux afficher un message.
J'ai utilisé $? mais ça n'a rien donné.

Merci à tous de votre aide.

3 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Faudrait peut être nous afficher ton script, parce qu'on n'est pas devin et c'est assez dur de deviner les erreurs de syntaxes ou d'imaginer ton codage...

;-))
0
loulou
 
Bonjour,

La commande FTP ci-dessous fonctionne très bien lorsque le fichier à transférer existe.

cd $CHEMIN
ftp -n $AD_IP $PORT << SCRIPT
user "$USER" $PASSWD
verbose
cd conciliation
binary
get $FICHIER
bye
SCRIPT


Par contre lorsque le fichier n'existe pas, je veux provoquer une erreur et afficher un message.
C'est la partie ci-dessous qui ne fonctionne pas. Le programme appelant se termine avec un code retour normal alors qu'il ne le devrait pas.

code_retour=$?
echo "code retour="$code_retour

if [ $code_retour -ne 0 ];
then echo "..... ERREUR lors du transfert "
exit 1
else
echo " "
echo " -> Transfert termine. Veuillez verifier le resultat de votre requete."
fi


Pourtant lorsque le fichier n'existe pas, le FTP signale une erreur:

-> fich à traiter: /apps/oracle/prodappl/omhm/11.5.0/ce/log/20071014.DAT

Verbose mode on.
250 CWD command successful.
200 Type set to I.
200 PORT command successful.
550 20071014.DAT: The system cannot find the file specified.
221


Merci beaucoup de votre aide.
0
lolo
 
J'ai la même question.
Comment recuperer ces status pour faire un traitement conditionnel.
SI qq un à la reponse ou loulou a déjà trouvé...
ca m'interesse.


lolo
0
esalagea
 
Salut. J'ai exactement le meme probleme.
Est-ce que vous avez trouve une reponse?

Merci.
0