Client FTP récursif avec Wget

Il me faut faire une moulinette infernale. Le travail consiste à récupérer récursivement une arborescence monstrueuse sur un serveur ftp avant de procéder à l’agrégation et au traitement des données.

D’ordinaire, pour un script complet allant de la récupération des données à leur intégration en base de données, j’aurais utilisé totalement Ruby. Je dis bien « j’aurais » car ce n’est pas le cas.

J’ai utilisé Ruby pour le traitement des fichiers et l’alimentation de la base mais, vu les limitations des fonctionnalités FTP imposées par Ruby, il me semblait beaucoup trop contraignant de perdre un temps fou, sur une chose aussi triviale, à triturer ce langage.

J’ai donc porté mon dévolu sur la commande wget qui fait parfaitement office de ftp récursif en… une ligne.

$ wget -r -P/home/demoi/ -nH --cut-dirs=8 --ftp-user nom_login --ftp-password mot_de_passe ftp://ftp.prout.fr/../../arbo/des/fichiers/*'

Descriptif des options utilisées :

-r : récupération récursive de l’arborescence

-P/home/demoi : Le répertoire (/home/demoi) dans lequel vont attérir les fichiers downloadés

-nH : Désactive la génération de la racine des répertoires avec le nom de l’hôte. Par défaut, l’invocation de wget avec -r http://ftp.prout.fr/ crée une hiérarchie de répertoires avec ftp.prout.fr/ comme racine. L’option -nH désactive ce comportement.

--cut-dirs=5 : Ignore 5 niveaux du répertoires distant pour la copie en local.

Maintenant, reprenons notre exemple pour illustrer l’utilisation des options -nH --cut-dirs=n. la récupération de « ftp://ftp.prout.fr/../../arbo/des/fichiers/* » donnerait

Sans option : ftp.prout.fr/../../arbo/des/fichiers/

-nH : ../../arbo/des/fichiers/

-nH --cut-dirs=1 : ../arbo/des/fichiers/

-nH --cut-dirs=4 : fichiers/

Maintenant, examinons le comportement avec --cut-dirs sans -nH :

--cut-dirs=4 : ftp.prout.fr/fichiers/

Et enfin, les informations de connexion

--ftp-user : le login ftp

--ftp-password : le mot de passe ftp

Pour plus d’infos, consultez la manpage de wget ou allez jeter un oeil ici.

Tadpu

Amatrice éclairée de nouvelles technologies. J'espère que mes quelques articles vous distrairont et vous éclaireront. Rédactrice de tadpu.com

2 réponses

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


*