Bonjour,

Je travaille sur un PC XP sur lequel je lance un script perl qui récupère toutes les minutes les nouvelles lignes d'un log en ftp et les ajoute à un fichier en local.
Ce script est démarré à l'aide de wperl.exe.
Le problème est que lorsque je laisse tourner la nuit, le lendemain il arrive que le processus wperl.exe ne tourne plus?
J'aimerais mettre en place une gestion des erreurs simple et rapide pour surveiller si cela vient du script.

Mon script étant simple, il y a t il un moyen simple de faire cela?

Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
#!/usr/bin/perl
use Net::FTP::Common;
use POSIX qw(strftime);
 
our %netftp_cfg = 
    (Debug => 1, Timeout => 120);
 
our %common_cfg =    
    (
     User => '***',           
     Pass => '*****',      
     Host => '******',       
     LocalDir   => 'd:/***/calculateur/log',
     RemoteDir  => '/',       
     Type => 'I'               
     );
 
 
 
	my $date = strftime "_%d_%m_%y", localtime;
 
 
   while(1)
	 {
	$ftp = Net::FTP::Common->new(\%common_cfg, %netftp_config); 
 
	my $date_new = strftime "_%d_%m_%y", localtime;
 
 
	$ftp->get(RemoteFile => 'tracer_tampon.log', LocalFile => 'tracer_tampon.log');
	$ftp->get(RemoteFile => 'f_date.log', LocalFile => 'f_date.log');
 
	if ($date ne $date_new)
		{
		open TAMPON, "d:/***/log/tracer_tampon.log";
		@slurp_tampon = <TAMPON>;
		unlink 'd:/***/log/Sequence.log';
		open LOG, ">d:/***/log/Sequence.log";
		print LOG @slurp_tampon;
		open LOG_ARCH, ">d:/***/log/Sequence".$date_new.".log";
		print LOG_ARCH @slurp_tampon;
		close LOG;
		close LOG_ARCH;
		close TAMPON;
		$date = $date_new;
		}
	else
		{
		open TAMPON, "d:/***/log/tracer_tampon.log";
		@slurp_tampon = <TAMPON>;
		open LOG, ">>d:/***/log/Sequence.log";
		print LOG @slurp_tampon;
		open LOG_ARCH, ">>d:/***/log/Sequence".$date.".log";
		print LOG_ARCH @slurp_tampon;
		close LOG;
		close LOG_ARCH;
		close TAMPON;
		}
	$ftp->quit;
	sleep 60;
 
	}
Merci d'avance,

Benoit