Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2006, 12h37   #1
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 46
Points : 15
Points : 15
Par défaut Commande FTP - tester retour des "put"

Bonjour à tous,

je dois transférer des données (via FTP) et faire une mise à jour en base, mais seulement si tout à été transféré... j'ai pensé aux code retours de l'instructions "put"... mais comment peut-on les récupérer ? Y a-til une autre solution ?
pimousse_on_ice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 13h13   #2
Membre émérite
 
Avatar de rurouni alex
 
Inscription : juin 2003
Messages : 570
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juin 2003
Messages : 570
Points : 930
Points : 930
Salut,

Quand lances un commandes FTP, tu as une réponse sous la forme d'une chaîne de caractères.

En comparant la réponse avec ce que tu devrais trouver tu sauras s'il y a eu un problème ou pas.
__________________
"Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux."
rurouni alex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 14h00   #3
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 46
Points : 15
Points : 15
euh... je ne sais pas si on parle de la même chose.. :

quand je teste le retour d'un FTP, il est toujours à OK (connexion FTP toujours réussie). Ce qui m'interesse, c'est lors de la session, le résultat des différents "put" de fichier, à savoir si les transferts se sont correctement effectués.... Est-ce possible de récupérer cela ?
pimousse_on_ice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 14h18   #4
Membre éprouvé
 
Avatar de bster
 
Inscription : mai 2005
Messages : 373
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mai 2005
Messages : 373
Points : 469
Points : 469
Code :
1
2
3
4
5
6
7
ftp -i trucmuche << EOT
cd truc
put machin
cd ../machin
put bidule
bye
EOT > historique.log
après tu analyse historique.log pour voir les valeurs renvoyés par les puts.
par exemple

Code :
1
2
3
>grep -e 150 -e 226 historique.log
150 Opening ASCII mode data connection for fic/G755BE.dat (10.177.61.212,4242).
226 Transfer complete.
si tu as le 150 mais pas le 226 le transfert à bien été lancé mais a echoué.

par rapport au log complet :
Code :
1
2
3
4
5
6
7
8
9
10
Connected to plg.
220 plg FTP server (Compaq Tru64 UNIX Version 5.60) ready.
331 Password required for exs.
230 User exs logged in.
200 Type set to A.
200 PORT command successful.
150 Opening ASCII mode data connection for fic/G755BE.dat (10.177.61.212,4242).
226 Transfer complete.
1958772 bytes sent in 1.59 secs (1.59 secs, 1203.92 Kbytes/s)
221 Goodbye.
chaque ligne de FTP répond avec un code message (ici 220 331 230 200 150 226 221 etc ....) à toi de te servir de ces codes pour analyser les retours des put mput get mget rename et toutes commande FTP que tu veux analyser.
__________________
Comité de lutte contre le langage SMS sur les forums
Veuillez écrire dans un langage compréhensible par les humains, merci.
bster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 14h24   #5
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 46
Points : 15
Points : 15
Dans mes tests, j'ai un cas d'erreur ( quand il ne trouve pas les fichiers à transférer) qui ne renvoie pas de code...

mais selon ta méthode, la présence du test 226 permet de dire que le transfert est ok, c'est bien ça ?...

j'avais pensé à un truc dans le genre (tester les codes renvoyés par les commandes), mais il faut être sur des codes retournés.... j'avais vu un post où le gars faisait un grep des ocde 4** et 5** ... s'il en avait, c'était une erreur... or dans mon cas, je n'ai même pas de code erreur... mais par contre, je n'ai pas le code 226 ! bien vu bster !!

je pense que je vais rester sur cette solution... en tout cas merci !
pimousse_on_ice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 14h35   #6
Membre éprouvé
 
Avatar de bster
 
Inscription : mai 2005
Messages : 373
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mai 2005
Messages : 373
Points : 469
Points : 469
Citation:
Envoyé par pimousse_on_ice
Dans mes tests, j'ai un cas d'erreur ( quand il ne trouve pas les fichiers à transférer) qui ne renvoie pas de code...

mais selon ta méthode, la présence du test 226 permet de dire que le transfert est ok, c'est bien ça ?...
oui quand ça échoue tu as que le message 150 mais pas le 226 correspondant.

Attention je penseque que pour le put et le get c'est les même partout mais pour les autres je sais pas si le reste est standard...
__________________
Comité de lutte contre le langage SMS sur les forums
Veuillez écrire dans un langage compréhensible par les humains, merci.
bster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 14h38   #7
Expert Confirmé Sénior
 
Avatar de Jedai
 
Étudiant
Inscription : avril 2003
Messages : 6 068
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2003
Messages : 6 068
Points : 7 869
Points : 7 869
Envoyer un message via Yahoo à Jedai
Les code positifs entre 0 et 400 représentent un succès, au-dessus c'est une erreur... Mais regarde plutôt la réponse que je t'ai donné sur le forum Perl, tu verras qu'avec Net::FTP, tu as directement accès au code de réponse, ce qui est tout de même plus pratique que d'analyser un log, puis éventuellement de reprogrammer un chargement, etc...

--
Jedaï
Jedai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 14h47   #8
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 46
Points : 15
Points : 15
Mauvaise nouvelle...
je n'ai pas réussi à convaincre mon client... donc pas d'utilisation de Net::FTP, et donc solution = le grep (chouette )....

dans mon cas, etant donné que l'erreur que j'ai eu ne renvoyait aucun code retour, je vais donc chercher le nb de code 226 (qui correspondra au nb de transfert de fichier, car se sont des "put", 1 par 1. Je sais, il y a mput, mais dans mon cas, je ne peux pas l'utiliser : specif du client ! ).... ça fait un peu bricolage mais bon...

Merci de vous etre penché sur le pb !
pimousse_on_ice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 15h00   #9
Expert Confirmé Sénior
 
Avatar de Jedai
 
Étudiant
Inscription : avril 2003
Messages : 6 068
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2003
Messages : 6 068
Points : 7 869
Points : 7 869
Envoyer un message via Yahoo à Jedai
Citation:
Envoyé par pimousse_on_ice
Mauvaise nouvelle...
je n'ai pas réussi à convaincre mon client... donc pas d'utilisation de Net::FTP, et donc solution = le grep (chouette )....

dans mon cas, etant donné que l'erreur que j'ai eu ne renvoyait aucun code retour, je vais donc chercher le nb de code 226 (qui correspondra au nb de transfert de fichier, car se sont des "put", 1 par 1. Je sais, il y a mput, mais dans mon cas, je ne peux pas l'utiliser : specif du client ! ).... ça fait un peu bricolage mais bon...

Merci de vous etre penché sur le pb !
Ton client veut bien que tu génères ton script bash en Perl, mais ne veut pas que tu fasses les téléchargements direct en Perl ? Bizarre... Et il ne veut pas que tu utilises mput... Il a l'air d'avoir de drôle d'exigences ton client !

Bon courage en tout cas !
--
Jedaï
Jedai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 15h02   #10
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 46
Points : 15
Points : 15
A qui le dis-tu !!
Mais bon, ça rassure de voir que je ne suis pas la seule à penser ça !

Merci pour tout en tout cas!
pimousse_on_ice est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h43.


 
 
 
 
Partenaires

Hébergement Web