![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Système Vos questions autour de l'administration système |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre éprouvé
![]() |
Bonjour,
Je chercher à faire un script pour automatiser une connection ftp, je fais comme ceci: Code :
FTP_CMD="/usr/bin/ftp"
printf "user: $user pass: $passi, IP $IP\n"
echo "machine ${IP}" > ~/.netrc
echo "login ${user}" >> ~/.netrc
echo "password ${pass}" >> ~/.netrc
$FTP_CMD ${IP} <<**
ls
bye
**
printf "retour= $?\n"
Déja, est possible de tester si la connection a marché avant de passer une commande ftp? Merci. |
|
|
|
|
|
#2 (permalink) |
|
Membre Expert
![]() Date d'inscription: juillet 2006
Localisation: toulouse
Messages: 1 474
|
il faut logguer le ftp dans un fichier (variable ou socket)
et analyse le contenu ftp ............<< EOT .... .... .... .... .... EOT | tee /tmp/ftp.log après tu tests ligne à ligne (pour celles qui commance par un nombre le numero 200 = commande valide 330 = demande de password 250 = changement de repertoire ok 220 etc... etc... par exemple pour analyser un listage de fichier il faut avoir eut les 3 retours suivants 200 150 226 à la suite et dans cet ordre idem pour un get ou un put (de mémoire) bref il faut faire ça en deux étapes...bien sur une fois l'analyse faite le fichier temporaire peut etre effacé =========================== duxièmement tu commets une erreur dans ton script tu recrées le .netrc avec les passwords et login en clair le .netrc existe justement pour ne pas pouvoir voir le password ni le login dans le script |
|
|
|
|
|
#3 (permalink) |
|
Membre éprouvé
![]() |
J'ai essayer de faire un redirection par un pipe comme tu dis ca ne marche pas :-(.
Code :
$FTP_CMD ${IP} <<EOT
bye
EOT | tee /tmp/ftp.log
printf "retour= $?\n"
done
Code :
./ftp_connect.sh -i 192.168.1.13 ./ftp_connect.sh: line 97: syntax error: unexpected end of file |
|
|
|
|
|
#4 (permalink) |
|
Membre éclairé
![]() Date d'inscription: mars 2002
Localisation: Martigny, VS, CH
Âge: 23
Messages: 329
|
Salut,
Code bash :
#!/bin/bash
(
echo "open XXXXX.com"
echo "passive"
echo "cd /web"
echo "close"
) | ftp -v 2>&1 > myFTPLogFile.log
Et comme ça tu peux récupérer la sortie et le code de retour. T.
__________________
Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/ |
|
|
|
|
|
#5 (permalink) | ||
|
Membre Expert
![]() Date d'inscription: juillet 2006
Localisation: toulouse
Messages: 1 474
|
Citation:
j'ai oublié les () Citation:
|
||
|
|
|
|
|
#6 (permalink) |
|
Membre chevronné
![]() Date d'inscription: juin 2008
Messages: 643
|
Au cas ou vous ne connaitriez pas CKermit, jetez un oeil à:
http://www.columbia.edu/kermit/ftpscripts.html Il implémente un client FTP (ou SFTP) scriptable qui répond à pas mal de soucis délicats à résoudre depuis à partir d'un script shell. - W |
|
|
|
![]() |
![]() |
||
Connection ftp scriptée
|
||
| Outils de la discussion | |
|
|