OVH Cloud OVH Cloud

Envoyer un fichier sur un ftp en ligne de commande

13 réponses
Avatar
noone
Bonjour,

je voudrais ajouter dans le Makefile de mon projet une ligne pour
facilement mettre à jour mon site web qui propose un logiciel.

D'habitude j'utilise gftp pour envoyer le fichier mais là je veux une
ligne de commande pour faire ça...

j'ai regardé le man de ftp... mais je m'y perd un peu...
lorsque j'utilise la commande ftp j'ai une session interactive avec le
serveur... or ça n'est pas ce que je cherche !

Je veux simplement avoir à taper "make web_copy"
qu'il me demande le mot de passe... et qu'il se débrouille.


Si vous avez une idée... merci d'avance !

10 réponses

1 2
Avatar
geo cherchetout
Le 05.03.2005 08:26, ** a écrit fort à propos :

Je veux simplement avoir à taper "make web_copy"
qu'il me demande le mot de passe... et qu'il se débrouille.


Bonjour,
On m'a indiqué ici-même expect qui convient à merveille pour faire ça.
Voici donc le script, sûrement très perfectible, que j'utilise et dont
tu pourrais t'inspirer. Je suis ouvert à toute suggestion d'amélioration :

#!/usr/bin/expect -f
set timeout -1
spawn ftp -nu
match_max 100000
expect -exact "ftp> "
send -- "open perso-ftp.wanadoo.frr"
expect "Using binary mode to transfer files.r
ftp> "
send -- "user geor"
expect "Password: "
send -- "mon_mot_de_passer"
expect -exact "r
230 User geo logged in.r
ftp> "
send -- "put mon_fichier.htm mon_fichier.htm"
expect -exact "mon_fichier.htm"
send -- "r"
expect "226-Transfer complete.r"
send -- "closer"
expect "221 Goodbye.r
ftp> "
send -- "quitr"
expect eof

Avatar
Pascal Bourguignon
"" writes:

Bonjour,

je voudrais ajouter dans le Makefile de mon projet une ligne pour
facilement mettre à jour mon site web qui propose un logiciel.

D'habitude j'utilise gftp pour envoyer le fichier mais là je veux une
ligne de commande pour faire ça...

j'ai regardé le man de ftp... mais je m'y perd un peu...
lorsque j'utilise la commande ftp j'ai une session interactive avec le
serveur... or ça n'est pas ce que je cherche !

Je veux simplement avoir à taper "make web_copy"
qu'il me demande le mot de passe... et qu'il se débrouille.


Si vous avez une idée... merci d'avance !


Utiliser ncftpput (de ncftp).


--
__Pascal Bourguignon__ http://www.informatimago.com/
In deep sleep hear sound,
Cat vomit hairball somewhere.
Will find in morning.

Avatar
noone
Bonjour,
On m'a indiqué ici-même expect qui convient à merveille pour faire ça.
Voici donc le script, sûrement très perfectible, que j'utilise et dont
tu pourrais t'inspirer. Je suis ouvert à toute suggestion d'amélioration :


Merci mais le problème c'est que tu est obligé de copier ton mot de
passe en clair dans ton script moi je veux qu'il me le demande puis
fasse la copie (sachant que je veux le mettre dans mon Makefile ça
craint un peu de mettre le mot de passe !)

Avatar
noone

Utiliser ncftpput (de ncftp).




merci je regarde le man

Avatar
Roy Bixler
wrote:

Bonjour,
On m'a indiqué ici-même expect qui convient à merveille pour faire ça.
Voici donc le script, sûrement très perfectible, que j'utilise et dont
tu pourrais t'inspirer. Je suis ouvert à toute suggestion d'amélioration
:


Merci mais le problème c'est que tu est obligé de copier ton mot de
passe en clair dans ton script moi je veux qu'il me le demande puis
fasse la copie (sachant que je veux le mettre dans mon Makefile ça
craint un peu de mettre le mot de passe !)


Ce pourrait marcher:

ftp -n site << ICI
user nomme
pass
cd /dir
bin
put file.html
quit
ICI

--
Roy Bixler
The price of seeking to force our beliefs on others is that someday
they might force their beliefs on us.
-- Mario Cuomo


Avatar
noone
En fait j'ai utilisé la technique avec ncftpput

ncftpput -u mon_user ftp.mon_domaine.fr le_repertoire_distant
le_fichier_a_envoyer
Avatar
Penguin_X
Bonjour,

je voudrais ajouter dans le Makefile de mon projet une ligne pour
facilement mettre à jour mon site web qui propose un logiciel.

D'habitude j'utilise gftp pour envoyer le fichier mais là je veux une
ligne de commande pour faire ça...

j'ai regardé le man de ftp... mais je m'y perd un peu...
lorsque j'utilise la commande ftp j'ai une session interactive avec le
serveur... or ça n'est pas ce que je cherche !

Je veux simplement avoir à taper "make web_copy"
qu'il me demande le mot de passe... et qu'il se débrouille.


Si vous avez une idée... merci d'avance !
Hmm, Si ton shell est bash, tu peux surement faire un script qui

"execute" des commandes successives :)

++

Avatar
Jogo
Va voir curl ou le très célèbre wget
Avatar
Pascal Bourguignon
Jogo writes:

Va voir curl ou le très célèbre wget


wget reçoit mais n'envoit pas. Je crois que c'est la même chose pour curl.

--
__Pascal Bourguignon__ http://www.informatimago.com/
The mighty hunter
Returns with gifts of plump birds,
Your foot just squashed one.

Avatar
Sébastien Kirche
Le 7 Mar 2005, Pascal Bourguignon a formulé :

wget reçoit mais n'envoit pas. Je crois que c'est la même chose pour curl.


Si, avec l'option -T on peut uploader sur un ftp.

--
Sébastien Kirche

1 2