j'aimerais pouvoir effacer un fichier se trouvant sur un serveur FTP
auquel j'ai accès.
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite
le faire de manière non-interactive : j'ai regardé ce que proposent
Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
In article <1g5qyzl.1ln2m8336ss6N%, (Julien Gautier) wrote:
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite le faire de manière non-interactive : j'ai regardé ce que proposent Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
-- je cherche un poste d'admin UNIX/Mac http://patpro.net/cv.php
In article <1g5qyzl.1ln2m8336ss6N%julien.gautier@wanadoo.fr>,
julien.gautier@wanadoo.fr (Julien Gautier) wrote:
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite
le faire de manière non-interactive : j'ai regardé ce que proposent
Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
In article <1g5qyzl.1ln2m8336ss6N%, (Julien Gautier) wrote:
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite le faire de manière non-interactive : j'ai regardé ce que proposent Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
-- je cherche un poste d'admin UNIX/Mac http://patpro.net/cv.php
julien.gautier
patpro wrote:
In article <1g5qyzl.1ln2m8336ss6N%, (Julien Gautier) wrote:
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite le faire de manière non-interactive : j'ai regardé ce que proposent Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
Bah, en fait, je l'avais lu plusieurs fois.... Mais tout ce que je trouve sur l'option -Q c'est :
-Q/--quote <comand>
(FTP) Send an arbitrary command to the remote FTP server, by using the QUOTE command of the server. Not all servers support this command, and the set of QUOTE commands are server specific! Quote commands are sent BEFORE the transfer is taking place. To make commands take place after a successful transfer, prefix them with a dash '-'. You may specify any amount of commands to be run before and after the transfer. If the server returns failure for one of the commands, the entire operation will be aborted.
Ai-je loupé qq chose ?
On est bien d'accord qu'il s'agit d'effacer un fichier distant ?
patpro <patpro@boleskine.patpro.net> wrote:
In article <1g5qyzl.1ln2m8336ss6N%julien.gautier@wanadoo.fr>,
julien.gautier@wanadoo.fr (Julien Gautier) wrote:
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite
le faire de manière non-interactive : j'ai regardé ce que proposent
Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
Bah, en fait, je l'avais lu plusieurs fois.... Mais tout ce que je
trouve sur l'option -Q c'est :
-Q/--quote <comand>
(FTP) Send an arbitrary command to the remote FTP server, by using the
QUOTE command of the server. Not all servers support this command, and
the set of QUOTE commands are server specific! Quote commands are sent
BEFORE the transfer is taking place. To make commands take place after a
successful transfer, prefix them with a dash '-'. You may specify any
amount of commands to be run before and after the transfer. If the
server returns failure for one of the commands, the entire operation
will be aborted.
Ai-je loupé qq chose ?
On est bien d'accord qu'il s'agit d'effacer un fichier distant ?
In article <1g5qyzl.1ln2m8336ss6N%, (Julien Gautier) wrote:
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite le faire de manière non-interactive : j'ai regardé ce que proposent Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
Bah, en fait, je l'avais lu plusieurs fois.... Mais tout ce que je trouve sur l'option -Q c'est :
-Q/--quote <comand>
(FTP) Send an arbitrary command to the remote FTP server, by using the QUOTE command of the server. Not all servers support this command, and the set of QUOTE commands are server specific! Quote commands are sent BEFORE the transfer is taking place. To make commands take place after a successful transfer, prefix them with a dash '-'. You may specify any amount of commands to be run before and after the transfer. If the server returns failure for one of the commands, the entire operation will be aborted.
Ai-je loupé qq chose ?
On est bien d'accord qu'il s'agit d'effacer un fichier distant ?
Bah, en fait, je l'avais lu plusieurs fois.... Mais tout ce que je trouve sur l'option -Q c'est :
-Q/--quote <comand>
(FTP) Send an arbitrary command to the remote FTP server, by using the QUOTE command of the server. Not all servers support this command, and the set of QUOTE commands are server specific! Quote commands are sent BEFORE the transfer is taking place. To make commands take place after a successful transfer, prefix them with a dash '-'. You may specify any amount of commands to be run before and after the transfer. If the server returns failure for one of the commands, the entire operation will be aborted. [...]
La page de man n'est pas correcte, je pense qu'ils confondent SITE et quote. quote n'est pas un truc du serveur FTP mais de la plupart des clients qui permet d'envoyer une commande FTP "verbatim".
Ici DELE pour effacer un fichier.
L'intérêt du "-" dans "-DELE" est que le DELE est fait après le LIST et surtout le CWD dans $REP. Il manque des doubles quotes autour du troisième argument de curl.
tu peux aussi faire
ftp -n "$ADDRESS" << EOF user $USER $PASS cd $REP del $FILE EOF
Bah, en fait, je l'avais lu plusieurs fois.... Mais tout ce que je
trouve sur l'option -Q c'est :
-Q/--quote <comand>
(FTP) Send an arbitrary command to the remote FTP server, by using the
QUOTE command of the server. Not all servers support this command, and
the set of QUOTE commands are server specific! Quote commands are sent
BEFORE the transfer is taking place. To make commands take place after a
successful transfer, prefix them with a dash '-'. You may specify any
amount of commands to be run before and after the transfer. If the
server returns failure for one of the commands, the entire operation
will be aborted.
[...]
La page de man n'est pas correcte, je pense qu'ils confondent
SITE et quote. quote n'est pas un truc du serveur FTP mais de la
plupart des clients qui permet d'envoyer une commande FTP
"verbatim".
Ici DELE pour effacer un fichier.
L'intérêt du "-" dans "-DELE" est que le DELE est fait après le
LIST et surtout le CWD dans $REP. Il manque des doubles quotes
autour du troisième argument de curl.
tu peux aussi faire
ftp -n "$ADDRESS" << EOF
user $USER $PASS
cd $REP
del $FILE
EOF
Bah, en fait, je l'avais lu plusieurs fois.... Mais tout ce que je trouve sur l'option -Q c'est :
-Q/--quote <comand>
(FTP) Send an arbitrary command to the remote FTP server, by using the QUOTE command of the server. Not all servers support this command, and the set of QUOTE commands are server specific! Quote commands are sent BEFORE the transfer is taking place. To make commands take place after a successful transfer, prefix them with a dash '-'. You may specify any amount of commands to be run before and after the transfer. If the server returns failure for one of the commands, the entire operation will be aborted. [...]
La page de man n'est pas correcte, je pense qu'ils confondent SITE et quote. quote n'est pas un truc du serveur FTP mais de la plupart des clients qui permet d'envoyer une commande FTP "verbatim".
Ici DELE pour effacer un fichier.
L'intérêt du "-" dans "-DELE" est que le DELE est fait après le LIST et surtout le CWD dans $REP. Il manque des doubles quotes autour du troisième argument de curl.
tu peux aussi faire
ftp -n "$ADDRESS" << EOF user $USER $PASS cd $REP del $FILE EOF
j'aimerais pouvoir effacer un fichier se trouvant sur un serveur FTP auquel j'ai accès.
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite le faire de manière non-interactive : j'ai regardé ce que proposent Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
Que me suggérez-vous ?
Merci d'avance.
Bonjour,
Tu peux faire appel à un "here script" en shell si tu veux.
Tout ce qui est compris entre le <<Session-FTP et le Session-FTP
Sont les commandes qui seront envoyées de manière "intéractive" par le script lui même au serveur ftp ...
-- Cordialement, Vincent JOUSSE
Julien Gautier wrote:
Bonjour,
j'aimerais pouvoir effacer un fichier se trouvant sur un serveur FTP
auquel j'ai accès.
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite
le faire de manière non-interactive : j'ai regardé ce que proposent
Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
Que me suggérez-vous ?
Merci d'avance.
Bonjour,
Tu peux faire appel à un "here script" en shell si tu veux.
j'aimerais pouvoir effacer un fichier se trouvant sur un serveur FTP auquel j'ai accès.
Je pourrais utiliser tout simplement les commandes FTP, mais je souhaite le faire de manière non-interactive : j'ai regardé ce que proposent Wget, Curl, ncftpput, mais n'ai pas trouvé de fonction de ce type.
Que me suggérez-vous ?
Merci d'avance.
Bonjour,
Tu peux faire appel à un "here script" en shell si tu veux.
Tout ce qui est compris entre le <<Session-FTP et le Session-FTP
Sont les commandes qui seront envoyées de manière "intéractive" par le script lui même au serveur ftp ...
-- Cordialement, Vincent JOUSSE
Stephane Dupille
Bonjour,
Salut !
Tu peux faire appel à un "here script" en shell si tu veux. < snip >
Bof. Ce genre de scripts va foirer à un moment où un autre. Il vaut mieux utiliser des scripts expect pour faire ça, ce qui est hyper facile avec autoexpect.
Sinon un petit script Perl.
-- If there' s another French on this list, will he be kind enough to give me some addresses of places that still sells the Neo (and games) ? I' ll be in Paris next week. Thanks for having read my terrible English. -+- SB in : <http://www.le-gnu.net> - French spoken on fufe -+-
Bonjour,
Salut !
Tu peux faire appel à un "here script" en shell si tu veux.
< snip >
Bof. Ce genre de scripts va foirer à un moment où un autre. Il vaut
mieux utiliser des scripts expect pour faire ça, ce qui est hyper
facile avec autoexpect.
Sinon un petit script Perl.
--
If there' s another French on this list, will he be kind enough to
give me some addresses of places that still sells the Neo (and games) ?
I' ll be in Paris next week. Thanks for having read my terrible English.
-+- SB in : <http://www.le-gnu.net> - French spoken on fufe -+-
Tu peux faire appel à un "here script" en shell si tu veux. < snip >
Bof. Ce genre de scripts va foirer à un moment où un autre. Il vaut mieux utiliser des scripts expect pour faire ça, ce qui est hyper facile avec autoexpect.
Sinon un petit script Perl.
-- If there' s another French on this list, will he be kind enough to give me some addresses of places that still sells the Neo (and games) ? I' ll be in Paris next week. Thanks for having read my terrible English. -+- SB in : <http://www.le-gnu.net> - French spoken on fufe -+-
julien.gautier
Stephane Chazelas wrote:
tu peux aussi faire
ftp -n "$ADDRESS" << EOF user $USER $PASS cd $REP del $FILE EOF
oui, c'est finalement cela que j'ai fait : c'est rudement pratique !
Bof. Ce genre de scripts va foirer à un moment où un autre.
c'est à dire ?
Stephane Dupille
Bof. Ce genre de scripts va foirer à un moment où un autre. c'est à dire ?
Rien ne vérifie les retours des commandes. Il suffit que le répertoire change de nom, ou que le serveur ait des vapeurs, pour que le script se mette à effacer n'importe quoi.
D'autre part, certains protocoles sont sensibles aux attentes entre les commandes. il *faut* dans tous les cas attendre une réponse positive avant de lancer la commande suivante. Et si la réponse est négative, agir en conséquence, chose que ne fait pas du tout le here-script. Si le serveur en face est chargé, et que le CD n'aboutisse pas avant d'envoyer la commande DELE, rien ne garantit que ce soit le bon fichier que vous vouliez effacer qui se retrouve effacé.
Faire un here-script est trop simpliste pour piloter des applications, même si ça semble marche la première fois. Ce n'est qu'une rustine. Pour faire les choses sérieusement, il vaut mieux utiliser expect, qui est fait pour ça. Et faire un script expect est souvent plus rapide que de faire un here-script (autoexpect est là pour ça).
-- Tu as une vision obsolète du Net. Les groupes sont hébergés chez les FAI maintenant. Il FAUT que leur gestion change. -+- Rocou in GNU : l'avenir appartient à ceux qui neuneutent tôt -+-
Bof. Ce genre de scripts va foirer à un moment où un autre.
c'est à dire ?
Rien ne vérifie les retours des commandes. Il suffit que le
répertoire change de nom, ou que le serveur ait des vapeurs, pour que
le script se mette à effacer n'importe quoi.
D'autre part, certains protocoles sont sensibles aux attentes entre
les commandes. il *faut* dans tous les cas attendre une réponse
positive avant de lancer la commande suivante. Et si la réponse est
négative, agir en conséquence, chose que ne fait pas du tout le
here-script. Si le serveur en face est chargé, et que le CD
n'aboutisse pas avant d'envoyer la commande DELE, rien ne garantit que
ce soit le bon fichier que vous vouliez effacer qui se retrouve
effacé.
Faire un here-script est trop simpliste pour piloter des
applications, même si ça semble marche la première fois. Ce n'est
qu'une rustine. Pour faire les choses sérieusement, il vaut mieux
utiliser expect, qui est fait pour ça. Et faire un script expect est
souvent plus rapide que de faire un here-script (autoexpect est là
pour ça).
--
Tu as une vision obsolète du Net. Les groupes sont hébergés chez les
FAI maintenant. Il FAUT que leur gestion change.
-+- Rocou in GNU : l'avenir appartient à ceux qui neuneutent tôt -+-
Bof. Ce genre de scripts va foirer à un moment où un autre. c'est à dire ?
Rien ne vérifie les retours des commandes. Il suffit que le répertoire change de nom, ou que le serveur ait des vapeurs, pour que le script se mette à effacer n'importe quoi.
D'autre part, certains protocoles sont sensibles aux attentes entre les commandes. il *faut* dans tous les cas attendre une réponse positive avant de lancer la commande suivante. Et si la réponse est négative, agir en conséquence, chose que ne fait pas du tout le here-script. Si le serveur en face est chargé, et que le CD n'aboutisse pas avant d'envoyer la commande DELE, rien ne garantit que ce soit le bon fichier que vous vouliez effacer qui se retrouve effacé.
Faire un here-script est trop simpliste pour piloter des applications, même si ça semble marche la première fois. Ce n'est qu'une rustine. Pour faire les choses sérieusement, il vaut mieux utiliser expect, qui est fait pour ça. Et faire un script expect est souvent plus rapide que de faire un here-script (autoexpect est là pour ça).
-- Tu as une vision obsolète du Net. Les groupes sont hébergés chez les FAI maintenant. Il FAUT que leur gestion change. -+- Rocou in GNU : l'avenir appartient à ceux qui neuneutent tôt -+-
Vincent
Julien Gautier wrote:
Stephane Dupille <sdupille+ wrote:
Bof. Ce genre de scripts va foirer à un moment où un autre.
c'est à dire ?
J'aimerais bien savoir aussi ;)
Ou les miens sont bien élevés depuis que je les utilise, ou alors suis-je peut-être chanceux, mais pas de foirage pour moi.
-- Cordialement, Vincent JOUSSE
Julien Gautier wrote:
Stephane Dupille <sdupille+news@teaser.fr> wrote:
Bof. Ce genre de scripts va foirer à un moment où un autre.
c'est à dire ?
J'aimerais bien savoir aussi ;)
Ou les miens sont bien élevés depuis que je les utilise, ou alors
suis-je peut-être chanceux, mais pas de foirage pour moi.
Bof. Ce genre de scripts va foirer à un moment où un autre.
c'est à dire ?
J'aimerais bien savoir aussi ;)
Ou les miens sont bien élevés depuis que je les utilise, ou alors suis-je peut-être chanceux, mais pas de foirage pour moi.
-- Cordialement, Vincent JOUSSE
Stephane Chazelas
2003-12-10, 15:11(+01), Stephane Dupille: [...]
D'autre part, certains protocoles sont sensibles aux attentes entre les commandes. il *faut* dans tous les cas attendre une réponse positive avant de lancer la commande suivante. Et si la réponse est négative, agir en conséquence, chose que ne fait pas du tout le here-script.
la commande cliente ftp ne fait qu'une opération à la fois, herescript ou pas.
Le probleme avec le here script, c'est que les commandes sont exécutées dans tous les cas, c'est tout (et déjà pas mal, on est d'accord).
[...]
Faire un here-script est trop simpliste pour piloter des applications, même si ça semble marche la première fois. Ce n'est qu'une rustine. Pour faire les choses sérieusement, il vaut mieux utiliser expect, qui est fait pour ça. Et faire un script expect est souvent plus rapide que de faire un here-script (autoexpect est là pour ça).
Expect est une rustine aussi. Au lieu d'installer expect, mieux vaut installer la bonne application ou utiliser perl
Avec lftp:
lftp -c " set cmd:fail-exit yes open 'ftp://$USER:$PASS@$HOST' cd '$DIR' rm '$FILE' "
(il y aura des problemes si les variables contiennent des single quotes ou des sauts de lignes ou des ou si USER ou PASS contiennent des : @ /)
D'autre part, certains protocoles sont sensibles aux attentes entre
les commandes. il *faut* dans tous les cas attendre une réponse
positive avant de lancer la commande suivante. Et si la réponse est
négative, agir en conséquence, chose que ne fait pas du tout le
here-script.
la commande cliente ftp ne fait qu'une opération à la fois,
herescript ou pas.
Le probleme avec le here script, c'est que les commandes sont
exécutées dans tous les cas, c'est tout (et déjà pas mal, on est
d'accord).
[...]
Faire un here-script est trop simpliste pour piloter des
applications, même si ça semble marche la première fois. Ce n'est
qu'une rustine. Pour faire les choses sérieusement, il vaut mieux
utiliser expect, qui est fait pour ça. Et faire un script expect est
souvent plus rapide que de faire un here-script (autoexpect est là
pour ça).
Expect est une rustine aussi. Au lieu d'installer expect, mieux
vaut installer la bonne application ou utiliser perl
Avec lftp:
lftp -c "
set cmd:fail-exit yes
open 'ftp://$USER:$PASS@$HOST'
cd '$DIR'
rm '$FILE'
"
(il y aura des problemes si les variables contiennent des single
quotes ou des sauts de lignes ou des \ ou si USER ou PASS
contiennent des : @ /)
D'autre part, certains protocoles sont sensibles aux attentes entre les commandes. il *faut* dans tous les cas attendre une réponse positive avant de lancer la commande suivante. Et si la réponse est négative, agir en conséquence, chose que ne fait pas du tout le here-script.
la commande cliente ftp ne fait qu'une opération à la fois, herescript ou pas.
Le probleme avec le here script, c'est que les commandes sont exécutées dans tous les cas, c'est tout (et déjà pas mal, on est d'accord).
[...]
Faire un here-script est trop simpliste pour piloter des applications, même si ça semble marche la première fois. Ce n'est qu'une rustine. Pour faire les choses sérieusement, il vaut mieux utiliser expect, qui est fait pour ça. Et faire un script expect est souvent plus rapide que de faire un here-script (autoexpect est là pour ça).
Expect est une rustine aussi. Au lieu d'installer expect, mieux vaut installer la bonne application ou utiliser perl
Avec lftp:
lftp -c " set cmd:fail-exit yes open 'ftp://$USER:$PASS@$HOST' cd '$DIR' rm '$FILE' "
(il y aura des problemes si les variables contiennent des single quotes ou des sauts de lignes ou des ou si USER ou PASS contiennent des : @ /)