Bonjour tout le monde,
Un collègue a fait un shell qui permet de récupérer, sur un serveur ftp, la liste des fichiers d'un répertoire donné et je dois le modifier pour changer de serveur ftp.
Voici le code de mon collègue :
Donc il se connecte au serveur ftp, change de répertoire et fait un ls -l de se répertoire.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 REP_LOCAL=/repertoirelocal/photos FIC_RECEPT=envoi.txt TYPE_FICHIER="*.gif" cd $REP_LOCAL echo "Récupération des fichiers disponibles" echo "open adresseip"> $FIC_RECEPT echo "user login motdepasse">> $FIC_RECEPT echo "cd /produits/photos">> $FIC_RECEPT echo "ls -1">> $FIC_RECEPT echo "close">>$FIC_RECEPT echo "quit">> $FIC_RECEPT ftp -i -n -v <$FIC_RECEPT > ResultatFTP.txt >photo.csv cat ResultatFTP.txt | grep gif >> photo.csv chmod 777 photo.csv rm ResultatFTP.txt exit 0
Quand le shell a fini de s'exécuter, il obtient un fichier de ce format là :
image1.gif
image2.gif
image3.gif
Donc je retouche le code et je ne change que l'adresse ip du serveur, le login, le mot de passe et j'enlève le cd (en me connectant directement avec ce login, j'arrive directement au répertoire voulu). Voici mon code :
J'obtiens un fichier de ce format :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 REP_LOCAL=/repertoirelocal/photos FIC_RECEPT=envoi.txt TYPE_FICHIER="*.gif" cd $REP_LOCAL echo "Récupération des fichiers disponibles" echo "open nouvelleadresseip"> $FIC_RECEPT echo "user nouveaulogin nouveaumotdepasse">> $FIC_RECEPT echo "ls -1">> $FIC_RECEPT echo "close">>$FIC_RECEPT echo "quit">> $FIC_RECEPT ftp -i -n -v <$FIC_RECEPT > ResultatFTP.txt >photo.csv cat ResultatFTP.txt | grep gif >> photo.csv chmod 777 photo.csv rm ResultatFTP.txt exit 0
-rw-rw-r-- 1 utilisateur test 500 mai 7 16:36 image1.gif
-rw-rw-r-- 1 utilisateur test 500 mai 7 16:36 image2.gif
-rw-rw-r-- 1 utilisateur test 500 mai 7 16:36 image3.gif
J'ai essayé de modifier le
par unCode:echo "ls -1">> $FIC_RECEPT
mais ça ne fonctionne pas, j'ai toujours le même format de fichier.Code:echo "ls">> $FIC_RECEPT
Quand je me connecte sur le serveur via putty et que je fais un ls, j'obtiens bien le résultat voulu.
Avez-vous une idée ?
Merci d'avance.