OVH Cloud OVH Cloud

Comment se connecter sous FTP avec un fichier de paramêtres

7 réponses
Avatar
Blade1966
Bonjour,
j'aimerais développer un shell pour lancer des commandes automatiques
sous FTP
peut-on ecrire une ligne de commande comme suit:

:> ftp -i machin < param.txt

avec dans les paramêtres, le login, le mot de passe et quelques commandes.
Merci d'avance pour votre aide
Jean-Philippe

7 réponses

Avatar
Pascal Bourguignon
Blade1966 writes:

Bonjour,
j'aimerais développer un shell pour lancer des commandes automatiques
sous FTP
peut-on ecrire une ligne de commande comme suit:

:> ftp -i machin < param.txt

avec dans les paramêtres, le login, le mot de passe et quelques commandes.


Ça dépend.
La commande ftp de base est assez interactive et ça marche mieux avec expect.
Il y a des versions qui fonctionnent mieux avec un stdin fixé.
Dans tous les cas, ça marche mieux si les mots de passe sont
enregistrés dans ~/.netrc au lieu d'avoir à les saisir.

Mais pour faire du ftp dans les scripts, rien ne vaut ncftp et ses
petits copains ncftpput et ncftpget.

--
__Pascal Bourguignon__ http://www.informatimago.com/
Until real software engineering is developed, the next best practice
is to develop with a dynamic system that has extreme late binding in
all aspects. The first system to really do this in an important way
is Lisp. -- Alan Kay

Avatar
TiChou
Dans le message <news:,
*Pascal Bourguignon* tapota sur f.c.o.unix :

pour faire du ftp dans les scripts, rien ne vaut ncftp et ses
petits copains ncftpput et ncftpget.


J'ai une préférence pour lftp qui peut remplacer avantageusement la commande
ftp standard.

--
TiChou

Avatar
Chris
TiChou wrote:
Dans le message <news:,
*Pascal Bourguignon* tapota sur f.c.o.unix :

pour faire du ftp dans les scripts, rien ne vaut ncftp et ses
petits copains ncftpput et ncftpget.



J'ai une préférence pour lftp qui peut remplacer avantageusement la
commande ftp standard.



Salut,

Sinon pour ceux qui veulent tout controler du debut a la fin

Le script perl avec Net::Ftp :

un petit exemple :

### --------------------------------------------------------------
$newerr = 0;
$ftp = Net::FTP->new( $SCAI, timeout=>$TIME_OUT ) or $newerr=1 ;
if ( $newerr )
{
push @ERRORS, "serveur ftp $SCAI down : $! " ;
push @ERRORS, " host = $SCAI " ;
&g_err();
}
&logger("Connexion au serveur SCAI ...");
### --------------------------------------------------------------

Chaque etape peut être controlé ce qui est tres pratique dans pas mal
de cas et permet un diagnostic rapide

A+
chris


Avatar
Blade1966
TiChou wrote:

Dans le message <news:,
*Pascal Bourguignon* tapota sur f.c.o.unix :

pour faire du ftp dans les scripts, rien ne vaut ncftp et ses
petits copains ncftpput et ncftpget.



J'ai une préférence pour lftp qui peut remplacer avantageusement la
commande ftp standard.

J'ai essayé cette commande, mais elle n'est pas connue de mon système,

j'ai oublié de préciser que je suis sur solaris 8

Merci d'avance
Jean-Philippe


Avatar
TiChou
Dans le message <news:do6crr$25hu$,
*Blade1966* tapota sur f.c.o.unix :

[ncftp et lftp]

J'ai essayé cette commande, mais elle n'est pas connue de mon système,
j'ai oublié de préciser que je suis sur solaris 8


Quelque chose vous empêche d'installer un de ces deux programmes sur votre
système ?
Vous trouverez facilement les sources de ces programmes ainsi que des
versions précompilées pour Solaris.

--
TiChou

Avatar
david
220 EYEBOX.com FTP server (Version wu-2.6.2-5) ready.
Error - .netrc file not correct mode.
Remove password or correct mode.
221 Goodbye.
ftp>

voila le résultats de mes commandes


Ce message indique que le mot de passe est écrit en clair dans le fichier
.netrc, et par soucis de sécurité, ce fichier ne sera pas utilisé par ftp
tant qu'il sera lisible par tout le monde. Essayez donc la commande:
chmod og-rwx ~/.netrc
et relancez votre ftp.

(le "mode" d'un fichier, en langage unix, correspond aux permissions, voir
la page man de la commande chmod).

david

Avatar
Pascal Bourguignon
Blade1966 writes:
Pascal Bourguignon wrote:
Mais pour faire du ftp dans les scripts, rien ne vaut ncftp et ses
petits copains ncftpput et ncftpget.


il faut savoir que je suis sur solaris 8 et que les commandes ncftp,
ncftpput,ncftpget ne sont pas connues de mon système


Justement, ncftp est un logiciel libre: tu peux télécharger le source
et le compiler sur ton système en toute liberté.

http://www.ncftpd.com/download/


--
__Pascal Bourguignon__ http://www.informatimago.com/
The rule for today:
Touch my tail, I shred your hand.
New rule tomorrow.