Script pour du 'FTP file listing'

Iaorana à tou(te)s,

je cherche à lister le contenu d’un dossier principal sur un ftp.
Le tout pour former un content.tgz.

Sauf que je n’ai pas la moindre idée comment commencer ce script.
Je ne crois pas qu’il y ait de commandes qui permettent d’exécuter ma requête.

Avez-vous des pistes et/ou des idées ?
Edité le 25/06/2007 à 22:25

il existe des clients ftp en ligne de commande en mode non interactif… avec un peu de recherche…

sinon il existe une ruse de sioux pour manipuler une commande interactive comme ftp ou mysql (client) :


#/bin/sh
ftp login:pAsSw0rd@ftp.mondomaine.com << EOF
cd monrep
put monfichier.txt
quit
EOF
# la suite de mon script
# ...
#

Mais je deteste vraiment cette methode.
Je lui prefere un bon script perl propre (ca existe ca ?) avec un module ftp.
et suivant ce que tu veux faire exactement, wget pourrait faire l’affaire

Oui, il s’appelle python.

spece de trolleur :paf:

emacs vaincra !

[edit] python c’est pas le truc qui necessite de mettre le bon nombre d’espaces devant chaque ligne sinon il comprend pas dans quel bloc il se trouve (comme les langages des annees 60) ??[/edit]

peu importe le nombre d’espaces ou tabulations, les bloques doivent être bien indentés, obligation ne serais-ce que pour la bonne relecture du script par un humain

Dès lors qu’ils auront fait un alias de emacs sur vim :stuck_out_tongue: :paf:

Oui, c’est bien ça. :bounce: On appelle ça un langage lisible et intelligible. C’est bien la différence fondamentale avec PERL :miam:

MOUAHAHAHAHAHA :ane:
Perl est beau alors que python c’est moche :na:

Bande de geeks fondamentalistes :smiley:

Edit : /me cache son avatar derrière son dos :paf:

attention, je ne veux pas récupérer les fichiers, juste le listing de l’arborescence.

une sorte de find /* > mon_fichier mais sur un ftp

et bien regarde les autres possibilites que j’ai donne…

[edit] je pense a un truc : avec fuse, tu devrais avoir moyen de monter un partage ftp afin de l’utiliser comme si c’etait un fs local. Resterait plus qu’a faire un bon vieux ls pour avoir le listing que tu souhaites et plus si affinites.
[/edit]

j’ai utilisé fuse, créé un petit batch et cela fonctionné à merveille.
Je ne m’y connais pas dans les commandes ftp.

merci.


perl -e '
use Net::FTP;
$ftp = Net::FTP->new("ADRESSEDUFTP", Debug=>0) or die "Cannot connect to ftp server: $@";
$ftp->login("USER","PASSWD") or die "Cannot login ", $ftp->message;
print $ftp->ls("CHEMIN") or die "ls failed", $ftp->message;
$ftp->quit;
'   > content.txt

et voila, tous est dans content.txt :wink:

merci …

mais en toute honnêteté, je n’aurai jamais su pondre ce genre de script.