Zipper un répertoire, fichier sur un serveur distant - Perl - Programmation
Marsh Posté le 22-04-2010 à 15:01:23
Je comprends rien à ton histoire: Tu peux pas zipper à distance comme ça avec un programme qui s'exécute en local
Il faut que tu récupères le fichier distant avec sftp, tu le zippe en local, et tu envoies a distance le fichier avec sftp.
A+,
Marsh Posté le 22-04-2010 à 15:39:50
OK gilou, donc y a pas moyen de zipper un répertoire à distant ?
même en utilisant d'autre méthode (module perl) genre Net::SFTP::Foreign ou autre ? ou bien autre format d'archivage ?
Marsh Posté le 22-04-2010 à 17:35:53
Le pb est au niveau de addFile( $fileName [, $newName ] ) qui attends vraiment quelque chose de local. Je vois pas de fonction qui fasse addFile avec un filehandle en paramètre, sinon ça serait sans doute faisable.
La solution de récupérer depuis le serveur via $sftp, compresser, puis expédier sur le serveur via $sftp ne te convient pas? pourquoi? elle doit pas être moins efficace, parce que dans tous les cas, il faudra bien que les données soient récupérées depuis le serveur puis expédiées sur le serveur, puisque leur compression est effectuée en par le CPU local.
A+,
Marsh Posté le 26-04-2010 à 12:18:15
OK, gilou merci pour ton aide je vais faire ce que tu propose. Mais ma question est toujours à l'ordre du jour et si c'est vraiment pas possible bon tant pis
Marsh Posté le 21-04-2010 à 18:08:30
salut à tous,
Je voudrais savoir si ce bout de code est correct
J'ai les messages d'erreurs suivant :
1- Can't open "/res.zip" :No such file or directory at CPerl/lib/Archive/Zip/Archive.pm line 369
2- Write error at ... sur la ligne unless ( $zip->writeToFileNamed("res.zip" ) == AZ_OK )
3- Can't call method "desiredCompressionLevel" on an undefined value at ...
Je pense que c'est un problème de chemin car à mon avis ceci cherche les dossiers et fichiers localement mais pas sur le serveur.
Y a t-il un moyen pour avoir le dossier courant ou avez vous d'autres idées ?
Merci pour votre aide