Comment télécharger puis supprimer les fichiers [FTP] - Shell/Batch - Programmation
Marsh Posté le 29-07-2005 à 16:57:27
ftp host <<EOF |
Et ainsi de suite. Ca ne marchera que si tu n'as pas besoin de t'autentifier interractivement, c'est a dire si tu a un fichier .netrc sur ta machine locale.
Marsh Posté le 29-07-2005 à 16:59:50
Ton exemple serait parfait si je savais à l'avance le nom des fichiers, mais ce n'est pas le cas
Marsh Posté le 29-07-2005 à 17:41:37
Et pourquoi ne pas tout prendre avec mget puis tout supprimer avec mdelete ? En utilisant prompt pour éviter les questions bien sûr
Code :
|
Marsh Posté le 29-07-2005 à 17:43:48
Because entre temps, je dois renommer le fichier une fois qu'il est copié sur l'autre serveur.
Quel projet de ....
Marsh Posté le 29-07-2005 à 17:46:01
Hmm ok. Le rename est "global" sur une même pattern (ajouter -abc au nom des fichiers) ou différent pour chaque fichier ?
La machine source possède quel shell/OS (bash/cygwin) ?
Marsh Posté le 29-07-2005 à 18:24:31
Soit tu as un vrai shell (tu es sous *nix quoi) et ça doit se faire tout seul, soit t'es sous windows et dans ce cas il faut que tu fasses appel à des langages de script externes (c'est très facile à faire en python, par exemple, ton truc), parce que je doute que "ftp" soit bien interfaçable avec batch
Marsh Posté le 29-07-2005 à 18:30:31
masklinn a écrit : parce que je doute que "ftp" soit bien interfaçable avec batch |
Ca l'est, mais c'est bouseux et il faut la pelle à clous.
Marsh Posté le 29-07-2005 à 18:57:19
Si tu tiens à faire en batch, une méthode serait de le faire en deux connexions : une pour récupérer la liste des fichiers, puis tu génères le script FTP pour la deuxième dans laquelle tu fais tous les récup, renommages et suppressions.
Marsh Posté le 29-07-2005 à 19:00:14
wackevat a écrit : Si tu tiens à faire en batch, une méthode serait de le faire en deux connexions : une pour récupérer la liste des fichiers, puis tu génères le script FTP pour la deuxième dans laquelle tu fais tous les récup, renommages et suppressions. |
Je conseillerais plutôt de laisser tomber et de faire autrement. DOS btch + FTP = infection.
Marsh Posté le 29-07-2005 à 19:17:17
Chacun fait ce qu'il veut. C'est une idée aux cas où il n'aurait pas d'autres choix.
Marsh Posté le 29-07-2005 à 19:44:39
sircam a écrit : Ca l'est, mais c'est bouseux et il faut la pelle à clous. |
Ben putain, ça m'impressionne que ça le soit. Le principe est de générer des scripts via batch et de les dumper dans ftp via un truc genre ftp -s?
Marsh Posté le 29-07-2005 à 19:46:56
Beh, quand tu vois comment un DOS batch un peu avancé est torché, et quand tu essayes d'utiliser FTP sous Win command-line avec fichier d'input...
Marsh Posté le 29-07-2005 à 20:05:54
Utilses la commande "expect", qui est justement faite pour automatiser les sessions interactives.
Edit : tu peux aussi utiliser rsh/rcp si le serveur est une machine unix.
Marsh Posté le 31-07-2005 à 09:46:39
si sous dos tu peux utiliser n'importe quel client ftp (sauf le dos)
la methode consisterait a generer un fichier de commandes de maniere dynamique et d'envoyer ce fichier en parametre a ton client ftp.
par exemple avec psftp:
1) tu construit ton fichier commandes.txt (a partir d'un .bat ou autre)
Code :
|
ensuite tu lances ton client ftp (avec un .bat):
Code :
|
si c'est sous Linux/Unix c'est encoe plus simple:
depuis un petit script shell tu peux faire :
Code :
|
Marsh Posté le 31-07-2005 à 10:06:39
betsamee a écrit : la methode consisterait a generer un fichier de commandes de maniere dynamique |
En DOS batch, c'est mortel, avouons-le.
Marsh Posté le 31-07-2005 à 10:16:56
en dos batch c'est la mort (mais faisable)
mais rien ne l'empeche d'utiliser vbs
Marsh Posté le 31-07-2005 à 10:25:56
betsamee a écrit : en dos batch c'est la mort (mais faisable) |
Ce qui, finalement, nous éloigne fort de la combinaison client FTP de DOS et DOS batch, et ce n'est pas plus mal.
En fait, il pourrait très bien faire ça en Perl ou en Python.
Marsh Posté le 31-07-2005 à 10:38:45
avec le client ftp de DOS c'est a mon avis carrement impossible
Marsh Posté le 01-08-2005 à 10:34:48
En fait, je pensais au batch car c'esr le seul langage que je connais.
Je suis admin réseau, et le vbs ou python j'y connais absolument rien.
Mais merci pour vos piste, je vais continuer mes recherches.
Marsh Posté le 01-08-2005 à 10:37:42
Un conseil, si tu es admin : mange du Perl ou du Python, tu ne le regreteras pas.
Marsh Posté le 01-08-2005 à 13:23:03
sircam a écrit : Un conseil, si tu es admin : mange du Perl ou du Python, tu ne le regreteras pas. |
Ou du Ruby
mais pas du Tcl, parce que ça pue grave ce truc
Marsh Posté le 01-08-2005 à 13:34:35
Ouaip
Marsh Posté le 29-07-2005 à 16:14:39
Hello, bonjour !
Je suis bloqué :
Sur un serveur FTP, j'ai un répéertoire avec des centaines de fichiers.
J'aimerai faire un script qui télécharges un fichier puis qui le supprime et ainsi de suite.
Quelqu'un aurait une idée ?
---------------
GaazzzzZZZZZZZZ