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 :
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 :
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
echo "ls -1">> $FIC_RECEPT
par un
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.
Partager