Bonjour � tous,
je rencontre un probleme avec un script que je lance
tous les jours par l'int�m�daire de cron.
Je suis sous Mandrake 7.2 kernel 2.2.17-21. je souhaite lancer
le script perl suivant tous les jours (j'ai volontairement tronqu� le script car
le probleme se situe dans ces lignes) :
#!/usr/bin/perl -w
use strict;
use diagnostics;
# Mise en forme de la date au format Windows
my $Date;
my @Date = split(/\./,`/bin/date --date '1 days ago' +%x`);
if ($Date[0] =~ /^0/)
{
$Date[0] =~ tr /0//d;
}
if ($Date[1] =~ /^0/)
{
$Date[1] =~ tr /0//d;
}
chomp(@Date);
my $FullDate = "$Date[0]_$Date[1]_$Date[2]";
print "$FullDate\";
Quand je lance le script dans une fenetre shell : . script.pl
17 01 200 => pas de probleme.
Je place le script dans le repertoire /etc/cron.daily
et quand le cron est lanc� :
Use of uninitialized value in pattern match (m//) at /studiel/sbin/backuplog.pl
line 12 (#1)
(W uninitialized) An undefined value was used as if it were already defined. It was
interpreted as a "" or a 0, but maybe it was a mistake. To suppress this
warning assign a defined value to your variables.
Use of uninitialized value in concatenation (.) at /studiel/sbin/backuplog.pl
line 17 (#1)
Use of uninitialized value in concatenation (.) at /studiel/sbin/backuplog.pl
line 24 (#1)
Uncaught exception from user code:
Impossible d ouvrir /studiel/backuplog/006Q__1/17/1.log
DB2 problem...: missing or empty key value specified
En fait la variable @Date ne s'initalise pas. Dans /etc/crontab j'ai bien d�clar� le chemin
des binaires que je lance, a savoir :
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/studiel/bin:/studiel/sbin:/studiel/sbin/perl.
Donc je ne sais pas ou ca peche, que faut il ajouter a tout ca pour que mon script
fonctionne correctement ?
merci de vos reponses
christophe bruyere
