Extraction d'un fichier gzip récupéré via FTP [Résolu/Fermé]

Signaler
-
Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
-
Bonjour à tous,

J'ai une certaine quantité de fichiers à récupérer sur un serveur FTP. Pour cela j'ai décidé d'automatiser la chose avec un petit script Perl, en utilisant les modules LWP::Simple et Net::FTP.

Le téléchargement a été lancé sur la nuit et le lendemain j'avais bien tout les fichiers voulu.

Le problème, c'est que ces fichiers sont des archives .gzip et qu'il m'est maintenant impossible d'en extraire le moindre fichier. Pourtant, si je télécharge une des archives manuellement, je peux extraire ce que je souhaite.

Le message d'erreur obtenu n'aide pas beaucoup... "une erreur s'est produite lors de l'extraction"

Si quelq'un a une idée, ou a déjà eu à automatiser un téléchargement de fichiers d'un serveur FTP, je suis preneur. Cela m'arrangerai de ne pas avoir à le faire à la main.

Merci.

Benjamin.

2 réponses

Salut,

Désolé mais je ne peux pas mettre de liens ni d'exemples de ces archives à la vue de tous.

Mon code était (en partie) le suivant:
my $ftp = Net::FTP->new("ftp.server", Debug => 0)
			  or die "Cannot connect to ftp.serveur: $@";
$ftp->login("id",'pwd')
			  or die "Cannot login ", $ftp->message;
$ftp->cwd($chemin)
			  or die "Cannot change working directory ", $ftp->message;
$ftp->get($file1)
			  or die "get failed ", $ftp->message;
$ftp->get($file2)
			  or die "get failed ", $ftp->message;
$ftp->quit;


Cependant j'ai résolu mon problème. En fait le module Net::FTP est configuré pour transférer les fichiers en mode ASCII, ce qui entrainai une 'corruption' des fichiers puisque je travail sous Linux et les archives avaient du être uploadées à partir d'un client Windows (si j'ai bien compris).

Il fallait donc ajouter la simple ligne:
$ftp->binary();

après le login.

Donc à présent cela fonctionne.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 174
Merci du retour.
Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 174
Salut,

Peut-être qu'avec un exemple (lien) d'une de ces archives gzip, ainsi qu'avec un exemple de la commande que tu utilises, il serait plus facile de t'aider, non ? ;-\

Sur quel système es-tu ? Windows ? Linux ? Mac ? Autres ?

Il y a peut-être des outils plus simples pour faire ce que tu veux, comme wget ou cURL...