Script d'automatisation de transfert de fichier via FTP - Perl - Programmation
Marsh Posté le 24-12-2004 à 12:36:44
J'ai trouve en cherchant un peu dans l'aide
$file1="boot";
$fileend=".cfg.txt";
for ($i = 0; $i < 5000; $i++)
{
$fileadd=$i;
$file="$file1$fileadd$fileend";
use Net::FTP;
$ftp = Net::FTP->new("wwwwwwwww.com", Debug => 0);
$ftp->login("www",'www');
$ftp->cwd("/directory" );
$ftp->get("myfile",$file);
$ftp->quit;
sleep(2);
}
merou91 a écrit : Je cherche a faire le programme suivant sous windows: |
Marsh Posté le 25-12-2004 à 10:59:08
en Perl il faut utiliser au maximum les modules (comme tu l'as fait avec Net::FTP)
par contre je ne comprend pas : tu veux le compiler ? dans quel but ? empêcher la lecture du password ?
Compiler du Perl c'est pas le genre de truc qui marche du premier coup, et encore une fois réussi bonjour les exécutions un peu bancal... à ta place je prendrais un freeware client ftp en ligne de commande où l'on passe soit un fichier de config soit tout en ligne de commande : au pire tu peux toujours générer la ligne de commande ou le fichier de config en perl compilé pour protéger le password (et encore je suis sûr qu'il doit se balader en clair qque part dans l'exécutable)
essayes de télécharger ftpget.exe sur le net et crée une enveloppe perl ou batch autour de cet outil
Marsh Posté le 25-12-2004 à 12:07:03
chiffrer le mot de passe de ftp dans un script c'est sympa, mais vu que de toute façon il passe en clair sur internet, c'est surtout beaucoup de peine pour un gain bien faible au niveau sécurité !!
Marsh Posté le 25-12-2004 à 19:41:28
En fait j'avais besoin de faire un test de plusieurs milliers de transferts FTP sur un equipement reseau. J'avais deja fait un programme en Perl il y a peu donc j'ai recommence, c'est compile avec le compilateur de Dzsoft.
Je sais que les informations ne sont pas cryptees mais je vois pas le rapport?
En tout cas merci et le programme est pret pour le prochain qui le demande .
Marsh Posté le 26-12-2004 à 22:30:04
bin pk tu veux le compiler justement
le seul intéret de le compiler, c'est d'empecher le code d'être vu, surtout les mots de passe
Marsh Posté le 27-12-2004 à 19:09:26
Sur du code compile, tu fais un "strings" et tu vois les mots de passe s'ils sont en dur dans ton code...
Marsh Posté le 29-12-2004 à 17:15:17
matafan a écrit : Sur du code compile, tu fais un "strings" et tu vois les mots de passe s'ils sont en dur dans ton code... |
Je vois pas de quoi vous parlez, j'ai fais un programme qui fait des FTP en boucle.
J'ai aucune utilite a crypte le mot de passe , pourquoi vous vous acharnez sur cette histoire de programme compile pas compile?
Marsh Posté le 29-12-2004 à 19:39:05
bah à toi de répondre : pourquoi veux-tu le compiler sachant que tu peux l'interpréter ?
Marsh Posté le 29-12-2004 à 21:23:13
couak a écrit : bah à toi de répondre : pourquoi veux-tu le compiler sachant que tu peux l'interpréter ? |
Je cherche a executer mon programme. Pour ca j'utilise dzsoft qui me permet en plus de m'indiquer ou sont les erreurs a la compilation?
Pourquoi interpreter le code, quel est l'avantage?
Edit: j'en suis au niveau debutant en Perl
Marsh Posté le 29-12-2004 à 22:25:02
pk interprété? parce que c'est beaucoup plus simple, t'es pas obligé de compilé justement
tu fais des modifs live et tu roule live
Marsh Posté le 29-12-2004 à 22:38:24
Puis Perl c'est pas fait pour etre compile. Extrait du man de perlcc :
The code generated in this way is not guaranteed to work. The whole |
Marsh Posté le 30-12-2004 à 16:11:43
matafan a écrit : Puis Perl c'est pas fait pour etre compile. Extrait du man de perlcc :
|
En cherchant un peu c'est pas si simple que ca de voir une difference entre compile et interprete:
http://www.perl.com/doc/FMTEYEWTK/comp-vs-interp.html
Marsh Posté le 24-12-2004 à 11:38:02
Je cherche a faire le programme suivant sous windows:
Faire une boucle de N iterations et pour chaque iteration faire:
-Connexion vers le meme site FTP avec login password
-Get d'un fichier defini depuis le serveur sur le PC, je cherche a recopier le fichier avec un nom different pour chaque iteration de la boucle
Pour le moment j'en suis au programme suivant:
$ftphost = "172.26.60.82";
$ftpuser = "login";
$ftppass = "password";
$filename = "fichier.txt";
open (TF, $Temp) || die "Can't open temp file";
print TF "open $ftphost\r\n";
print TF "$ftpuser\r\n";
print TF "$ftppass\r\n";
print TF "bi\r\n";
print TF "ha\r\n";
print TF "get $filename\r\n";
print TF "quit\r\n";
close TF;
Mais bon ca plante a la compilation, si qqn pouvait m'aider, pour la boucle c'est bon mais il faut aussi que je puisse faire le get avec un nom different lors de la recopie sur le PC pour chaque iteration.
Merci d'avance.
Message édité par merou91 le 24-12-2004 à 12:06:09