Страница 1 из 1

Не запускается скрипт на Perl через cron

Добавлено: 2011-09-28 13:14:04
bobot
вот в в кроне я прописал чтоб скрипт запускался каждую минуту

Код: Выделить всё

*/1     *       *       *       *       root    /usr/local/bin/perl  /usr/local/www/mydomain/script.pl
Вот логи крона

Код: Выделить всё

[root@mail /home/bobot]# tail -F  /var/log/cron | grep script
Sep 28 13:06:00 mail /usr/sbin/cron[18420]: (root) CMD (/usr/local/bin/perl /usr/local/www/mydomain/script.pl)
Sep 28 13:07:01 mail /usr/sbin/cron[18877]: (root) CMD (/usr/local/bin/perl /usr/local/www/mydomain/script.pl)
Sep 28 13:08:01 mail /usr/sbin/cron[19291]: (root) CMD (/usr/local/bin/perl /usr/local/www/mydomain/script.pl)
Sep 28 13:09:00 mail /usr/sbin/cron[20290]: (root) CMD (/usr/local/bin/perl /usr/local/www/mydomain/script.pl)
Sep 28 13:10:00 mail /usr/sbin/cron[20736]: (root) CMD (/usr/local/bin/perl /usr/local/www/mydomain/script.pl)
Вроде срабатывает.....но ничего подобного не работает
а если с командной строки

Код: Выделить всё

[root@mail /home/bobot]# /usr/local/bin/perl /usr/local/www/mydomain/script.pl
Message 1R8r1k-0004of-HM has been removed
Message 1R8r1l-0004ow-9r has been removed
Message 1R8r1m-0004pE-JT has been removed
Message 1R8r1q-0004pf-2L has been removed
Message 1R8r1t-0004q3-Lt has been removed
Message 1R8r1v-0004qD-Me has been removed
Message 1R8r1x-0004qI-2T has been removed
Message 1R8r27-0004rA-Gy has been removed
Message 1R8r2B-0004rg-Pf has been removed
Message 1R8r2C-0004s7-VD has been removed
Message 1R8r2D-0004sD-Oo has been removed
Message 1R8r2F-0004sW-2T has been removed
Message 1R8r2G-0004sf-8O has been removed
Message 1R8r2K-0004sw-Cu has been removed
Message 1R8r2M-0004tK-8p has been removed
Message 1R8r2S-0004tq-EI has been removed
Message 1R8r2d-0004v5-4D has been removed
Message 1R8r2e-0004vG-9n has been removed
Message 1R8r2k-0004vu-FH has been removed
Message 1R8r2k-0004vz-G2 has been removed
Deleting count: 66

То работает....в чём же дело?

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-28 14:22:31
Electronik
а если

Код: Выделить всё

*/1     *       *       *       *       root    /usr/bin/perl -w /usr/local/www/mydomain/script.pl

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-28 17:31:40
bobot
Electronik писал(а):а если

Код: Выделить всё

*/1     *       *       *       *       root    /usr/bin/perl -w /usr/local/www/mydomain/script.pl
Тоже самое (((

а если

Код: Выделить всё

root#/usr/local/bin/perl -w  /usr/local/www/mail.univ.kiev.ua/script.pl
Name "main::recips" used only once: possible typo at /usr/local/www/mydomain/script.pl line 14.
Name "main::state" used only once: possible typo at /usr/local/www/mydomain/script.pl line 13.

И дальше работает скрипт

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-28 20:03:23
sudo
А если в кроне прописать путь к модулям Perl ?

Код: Выделить всё

# perl -e 'print join("\n", @INC);'

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-29 11:38:56
bobot
sudo писал(а):А если в кроне прописать путь к модулям Perl ?

Код: Выделить всё

# perl -e 'print join("\n", @INC);'
Всё равно нет

вот логи

Код: Выделить всё

(/usr/local/bin/perl -e 'print join("\n", @INC);' /usr/local/www/mydomain/script.pl)
Sep 29 11:27:01 mail /usr/sbin/cron[83005]: (root) CMD (/usr/local/bin/perl -e 'print join("\n", @INC);' /usr/local/www/mydomain/script.pl)


не срабатывает (

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-29 12:51:21
skeletor
Может быть в самом скрипте используются внешние команды без полного пути?

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-29 13:02:34
bobot
skeletor писал(а):Может быть в самом скрипте используются внешние команды без полного пути?
вот скрипт я взял с этого форума

Код: Выделить всё

#!/usr/bin/perl

my $ar = "";

if ($#ARGV == -1) {
    $ar="q";
}
$ar= shift(@ARGV);

open ( MQ, "/usr/local/sbin/exim -bp|") or die "can't run the exim command\n";

$count = 0;
$state = 0;     # simple state machine
$recips = 0;
while ( <MQ> ) {
  $line = $_;
  chop $line;
  if($line =~ /\<\>/) {
        if($line =~ /(.*) (.*) (.*) \<\>/) {
                $ident = $3;
                system("exim -Mrm ". $ident);
                $count++;
        }
  }
  if($line =~ /\|/) {
        if($line =~ /(.*) (.*) (.*) (.*)/) {
                $ident = $3;
                system("exim -Mrm ". $ident);
                $count++;
        }
  }
}
close(MQ);

print "Deleting count: ". $count."\n";

# end

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-29 13:53:08
skeletor
У вас в первой строке /usr/bin/perl, а почему вы запускаете через /usr/local/bin/perl ? Где на самом деле у вас установлен perl? Видимо везде нужно /usr/local/bin/perl. Да и кстати, строка

Код: Выделить всё

system("exim -Mrm ". $ident);
явно без полного пути к exim'y. Тоже поправьте.

Re: Не запускается скрипт на Perl через cron

Добавлено: 2011-09-29 14:15:08
bobot
skeletor писал(а):У вас в первой строке /usr/bin/perl, а почему вы запускаете через /usr/local/bin/perl ? Где на самом деле у вас установлен perl? Видимо везде нужно /usr/local/bin/perl. Да и кстати, строка

Код: Выделить всё

system("exim -Mrm ". $ident);
явно без полного пути к exim'y. Тоже поправьте.
Благодарочка работает :bn:

Re: Не запускается скрипт на Perl через cron

Добавлено: 2012-11-13 23:52:41
maxcec
спасибо пригодилось :)