PERL : ftp retry ...

Résolu/Fermé
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 13 nov. 2009 à 17:07
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 16 nov. 2009 à 13:21
Bonjour,

je ne vois pas ce qui cloche, on dirait que le perl ne rentre jamais dans mon until :


#!/usr/bin/perl

use Sys::Hostname;
use Net::FTP;


$ftp_host="192.168.0.2";
$ftp_usr="login";
$ftp_mdp="pass";
$ftp_destination_rep = '/home/data/';

$email_from='from@domain.com';
$email_to='to@domain.com';

$ftp_ok=false;
until ($retry == 0 || $ftp_ok) {
	print "appel";
	$ftp_ok=ftp_upload($repertoire_destinataire,$fichier_destinataire);
	print "retour : $ftp_ok\n";
	$retry--;
	if (!$ftp_ok) {sleep(30);}
}


sub ftp_upload
{
	($repertoire, $fichier) = @_;
	
	$ftp = Net::FTP->new($ftp_host, Debug => 0, Timeout=>240)
		or do {
			print "connexion impossible sur $ftp_host: $@\n";
			return 0;
		};
		#or die "Cannot connect to $goftp_ftp: $@";
	
	$ftp->login($ftp_usr,$ftp_mdp)
		or do {
			print "login impossible sur $ftp_host:",$ftp->message;
			return 0;
		};
		#or die "Cannot login ", $ftp->message; 
	
	print "upload de $repertoire/$fichier\n";
	
	$ftp->put("$repertoire/$fichier")
		or do {
			print "put impossible sur $ftp_host de $repertoire$fichier :",$ftp->message;
			return 0;
		};
		#or die "put failed ", $ftp->message;
	
	print "fin upload de $repertoire/$fichier\n";
	
	$ftp->quit;
	return 1;
}
__END__



J'ai surement raté un truc débile ....

Stéphane
A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
13 nov. 2009 à 17:28
hello
que vaut $retry avant le until ?
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
13 nov. 2009 à 17:42
$retry=3;

j'ai oublié de le copier/coller.

Stéphane
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
14 nov. 2009 à 10:14
que vaut $ftp_ok=false; ?
essaye $ftp_ok=0;
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
14 nov. 2009 à 12:08
Toutes ces erreurs te seraient reportées si tu utilisais les pragmas suivants:
use strict;
use warnings;
C'est plus qu'une excellente habitude à prendre... mais, bien sûr, tu as le choix ;-)
Bonne continuation.
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
16 nov. 2009 à 13:21
Merci pour ces infos, mais si je mets ça il ne compile plus et me mets 200000 erreurs (le vrai code n'est pas celui posté, il fait plusieurs pages).

mais on dirait bien que le false était en cause ....

Merci encore.

Stéphane
0