Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

executer un script perl avec cron

4 réponses
Avatar
Khorne
J'ai fais un script Perl qui marche très bien lorsqu'il est executé par page
web, mais sous cron, je recois toujours ce message

/bin/sh: line 1: ./dev/updatedir.pl: No such file or directory

Mon script:


#!/usr/bin/perl


($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900;
$mon++;


if ($mon==12) {
$year++;
$mon = "01";
}else{
$mon++;
if (length($mon)<2) {
$mon = "0".$mon;
}
}


chdir("/dev/");
$directory = ".";
opendir(DIR, $directory) || die "can't opendir $directory: $!";
while ($file = readdir(DIR)) {
if ((-d $directory."/".$file) && ($file!=".")){

$sub_directory = $directory."/".$file;

mkdir $sub_directory."/".$year.$mon;
chmod 0666, $sub_directory."/".$year.$mon;


};

};
closedir DIR;



J'ai pourtant bien vérifié, Perl se trouve bien dans /usr/bin/

Merci pour votre aide

Khorne

4 réponses

Avatar
Terrot Francois
Bonsoir,

Je pense que cela n'a rien avoir avec perl, mais plutôt avec cron ...

Cron execute un shell restreint sans environnement (un PATH minimum, ...),
donc il ne se place pas par defaut dans le répertoire HOME de
l'utilisateur,
Bref en général c'est une bonne idée de fournir le chemin réel (pas de
variable) et absolu (a partir de la racine) de la commande dans la crontab.

François

J'ai fais un script Perl qui marche trŠs bien lorsqu'il est execut‚
par page web, mais sous cron, je recois toujours ce message

/bin/sh: line 1: ./dev/updatedir.pl: No such file or directory

Mon script:



Avatar
Alain BARBET
J'ai fais un script Perl qui marche très bien lorsqu'il est executé par page
web, mais sous cron, je recois toujours ce message

/bin/sh: line 1: ./dev/updatedir.pl: No such file or directory


Ce './' est bien relatif ... on est ou la ? dans / ? dans /tmp ?
dans ton home ? Met le chemin complet de ton ton script dans la crontab.

HTH,
--
Alain BARBET

Avatar
alian
J'ai fais un script Perl qui marche très bien lorsqu'il est executé par page
web, mais sous cron, je recois toujours ce message

/bin/sh: line 1: ./dev/updatedir.pl: No such file or directory


Ce './' est bien relatif ... on est ou la ? dans / ? dans /tmp ?
dans ton home ? Met le chemin complet de ton ton script dans la crontab.

HTH,
--
Alain BARBET

Avatar
dominix
Khorne wrote:
J'ai fais un script Perl qui marche très bien lorsqu'il est executé
par page web, mais sous cron, je recois toujours ce message

/bin/sh: line 1: ./dev/updatedir.pl: No such file or directory

Mon script:


#!/usr/bin/perl
^


faut enlever l'espace (ou le ^M) a la fin.

--
dominix