1

Я получил скрипт, который запускается в cronjob от имени пользователя root. Проблема в том, что команда addgroup выдаст "Команда не найдена", когда она будет выполнена скриптом.

#!/usr/bin/perl

$datei = `ls /var/www/cron/`;
@datei = split(/\n/, $datei);

foreach ( @datei ) {
    $datei = $_;
    open(bfh,"</var/www/cron/$datei") or die $!;
    while ( <bfh> ) {
        chomp($_);
        print "$_\n";
        system("$_\n");
    }
    #unlink("/var/www/cron/$datei") or die $!;
}

Crontab

  * * * * * /usr/bin/perl /home/hermes/cron.pl >> /home/hermes/cronlog
  2>> /home/hermes/cronerr

1 ответ1

1

Просто используйте абсолютные пути. Cronjobs работают в очень минимальной среде. Переменная PATH может не содержать то, что вы ожидаете.

Кроме этого: настроить sudo. Ваш нынешний подход вряд ли идеален.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .