Précédent   Forum des professionnels en informatique > Systèmes > Linux > Réseau
Réseau Vos questions autour des réseaux et télécoms sous Linux
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 22/07/2006, 12h40   #1
Membre confirmé
 
Avatar de blackstreet
 
Inscription : avril 2004
Messages : 268
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 268
Points : 236
Points : 236
Envoyer un message via MSN à blackstreet Envoyer un message via Yahoo à blackstreet
Par défaut Test sur existence Fichier

Bonjour,

je dois créer un script qui se lance chaque dix minutes et qui se connecte sur un serveur distant, test sur l'existance d'un fichier, s'il le trouve il le récupére, sinon, il ne fais rien, et écris dans un log , la date et l'heure de la connection.

j'ai essayé de voir avec nlist, mais j'ai pas su m'en sortir.

alors une petite aide serai la bienvenue.


et merci d'avance.
blackstreet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 12h54   #2
Membre éclairé
 
Avatar de DBProg
 
Étudiant
Inscription : juillet 2006
Messages : 242
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 242
Points : 315
Points : 315
Bonjour,

Est-ce que tu as essayé de récupérer la sortie de la commande LIST ?
Essaye peut-être ça, je donne vraiment sans tester désolé :

Code :
1
2
3
4
cmd=`LIST | grep monfichier`
if [ cmd -neq 0 ]; then
    # Prendre le fichier
fi
Quelque chose dans le genre devrait fonctionner je pense.
DBProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 13h01   #3
Membre confirmé
 
Avatar de blackstreet
 
Inscription : avril 2004
Messages : 268
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 268
Points : 236
Points : 236
Envoyer un message via MSN à blackstreet Envoyer un message via Yahoo à blackstreet
Juste une information :

Si je lance :

quelles sont les valeurs de retour :

et merci d'avance.
blackstreet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 16h44   #4
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
pourquoi pas plutôt :

Code :
1
2
3
4
5
6
if [ -e $FILEPATH ]
then
   do_something
else
   do_another_thing
fi
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 14h16   #5
Membre éclairé
 
Avatar de DBProg
 
Étudiant
Inscription : juillet 2006
Messages : 242
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 242
Points : 315
Points : 315
Car il est en ftp, et je ne sais pas si tu peux utiliser les même commandes qu'en console. Mais si oui, alors cette solution est parfaite !
DBProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 16h03   #6
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Citation:
Envoyé par dbprog
Car il est en ftp, et je ne sais pas si tu peux utiliser les même commandes qu'en console. Mais si oui, alors cette solution est parfaite !

je ne pense pas... désolé, j'étais à côté de la plaque
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 18h43   #7
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Pourquoi ne pas simplement ouvrir une session ftp dans un script bash et de faire un get sur le fichier recherché. S'il n'existe pas, il ne sera simplement pas transféré.

Par exemple:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /bin/sh
 
SERVEUR_FTP='ton-serveur.com'
USER='ton_pseudo'
MDP='xxxxxxxxxxx'
SRC_DISTANT='/web/test.php'
DEST_LOCALE='./nom.local.du.fichier'
 
# connection ftp
ftp -i -v -n $SERVEUR_FTP  <<FTP
user $USER $MDP
get $SRC_DISTANT $DEST_LOCALE
bye
FTP
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 20h42   #8
Membre confirmé
 
Avatar de blackstreet
 
Inscription : avril 2004
Messages : 268
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 268
Points : 236
Points : 236
Envoyer un message via MSN à blackstreet Envoyer un message via Yahoo à blackstreet
Citation :
Citation:
ripat a dit:
Pourquoi ne pas simplement ouvrir une session ftp dans un script bash et de faire un get sur le fichier recherché. S'il n'existe pas, il ne sera simplement pas transféré.
ça ne me convient pas, car j'ai des traitement à lancer en cas d'existance du fichier, (si le fichier n'existe pas, je fais rien).

Je suis en train de voir avec nlist :
j'ai réussi à tester la présence du fichier et écrire vers un log.

mais ce que je ne comprends pas, c'est les différentes valeurs de retour de NLIST, où puis je les trouver?

et merci pour votre collaboration.
blackstreet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 08h34   #9
Membre éclairé
 
Avatar de DBProg
 
Étudiant
Inscription : juillet 2006
Messages : 242
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 242
Points : 315
Points : 315
Attention la commande est NLST et pas NLIST (selon la RFC en tout cas).
As tu testé ma solution proposée plus haut ? Elle ne fonctionne pas ?

http://abcdrfc.free.fr/rfc-vo/rfc0959.txt
DBProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h33   #10
Membre confirmé
 
Avatar de blackstreet
 
Inscription : avril 2004
Messages : 268
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 268
Points : 236
Points : 236
Envoyer un message via MSN à blackstreet Envoyer un message via Yahoo à blackstreet
Non, je confirme bien, la command est NLIST et pas nlst : (je travaille sur AIX).

et j'ai testé ta méthode, mais ça donne rien, car le nlist est lancé après le ftp et on peut pas faire de
blackstreet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 22h20   #11
Membre éclairé
 
Avatar de DBProg
 
Étudiant
Inscription : juillet 2006
Messages : 242
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 242
Points : 315
Points : 315
Ok merci pour l'info, et désolé alors pour la fausse piste.

Quand tu auras trouvé une solution je veux bien voir comment tu as fais. Bonne chance en tout cas !
DBProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 12h01   #12
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Je persiste sur la piste ftp:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
USER='pseudo'
MDP='xxxxxxx'
 
SERVEUR_FTP='serveur.com'
FICHIER='/web/test.php'
 
# connection ftp
ftp -i -v -n $SERVEUR_FTP > sortie.tmp <<FTP
user $USER $MDP
ls $FICHIER
bye
FTP
 
# test d'existence du fichier
if grep -qi "^450.*$FICHIER.*no such file" sortie.tmp
then
    echo "Le fichier $FICHIER n'existe pas"
    EXIT_CODE=1
else
    echo "Le fichier $FICHIER existe"
    EXIT_CODE=0
fi
 
# nettoyage fichiers temoraires et sortie
rm -f sortie.tmp
exit $EXIT_CODE
Et si tu veux utiliser ce script en ligne de commande avec le serveur et le nom de fichier comme argument, tu pourrais faire quelque-chose comme:

remplacer
Code :
1
2
SERVEUR_FTP='serveur.com'
FICHIER='/web/test.php'
par
Code :
1
2
3
# parse de l'argument
SERVEUR_FTP=$(echo $1 | cut -d : -f1)
FICHIER=$(echo $1 | cut -d : -f2)
Code :
$ test_fichier serveur.com:/web/test.php
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 13h24   #13
Membre confirmé
 
Avatar de blackstreet
 
Inscription : avril 2004
Messages : 268
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 268
Points : 236
Points : 236
Envoyer un message via MSN à blackstreet Envoyer un message via Yahoo à blackstreet
merci ripat,

ça à l'air de marcher, je fais quelque petit tests et je vous met au courant.
blackstreet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h32.


 
 
 
 
Partenaires

Hébergement Web