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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Donc il se connecte au serveur ftp, change de répertoire et fait un ls -l de se répertoire.
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
J'obtiens un fichier de ce format :
-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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo "ls -1">> $FIC_RECEPT
par un

Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo "ls">> $FIC_RECEPT
mais ça ne fonctionne pas, j'ai toujours le même format de fichier.
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.