Сценарий perl в crontab не запускается с понедельника по пятницу

У меня есть сценарий, который будет проходить через crontab каждый день с понедельника по пятницу в 12:50. Ниже приведен код для crontab

50 00 * * 1-5 /u01/app/ecm2fs/deep/FS/kadecut.pl >> /u01/app/ecm2fs/deep/FS/salescut.log

Но он не работает. Но когда я выполняю его вручную, он работает. Кто-нибудь может сказать мне, в чем может быть проблема?

Что находится в /u01/app/ecm2fs/deep/FS/salescut.log? У Cron могут быть разные переменные env и рабочий каталог, поэтому ваш скрипт выдает ошибку. Также добавьте 2> & 1 в конце для вывода ошибок в журнал.

UjinT34 26.10.2018 07:12

Здесь я добавляю любую ошибку в скрипт

Riju Mukherjee 26.10.2018 07:13

я просто печатаю привет мир через crontab, но он работает ...... 51 00 * * 1-5 /u01/app/ecm2fs/deep/FS/hello.ksh >> / u01 / app / ecm2fs / deep /FS/hello.log

Riju Mukherjee 26.10.2018 07:14

Может crond сдох?

Red Cricket 26.10.2018 07:14

Но я тестировал другой скрипт, например, печать hello world, этот скрипт работает нормально.

Riju Mukherjee 26.10.2018 07:15

как вы вручную запускаете Perl-скрипт? Вы пробовали то, что предлагал Уджин?

Red Cricket 26.10.2018 07:17

Добавьте 2>&1 в конец строки cron для вывода ошибок в журнал. Вы также можете добавить BEGIN {print "hello\n"} в начало скрипта, чтобы что-то вывести до того, как скрипт приведет к ошибке.

UjinT34 26.10.2018 07:21

Какова длина скрипта kadecut.pl? ты можешь опубликовать это?

Red Cricket 26.10.2018 08:28

Возможный дубликат CronJob не работает

tripleee 26.10.2018 09:33

Недостаточно подробностей в вопросе, чтобы дать фактический ответ, но ответ на «он работает в командной строке, но не в cron» - это в целом, что есть разница в среде (рабочий каталог, пользователь / группа, запускающая его, среда переменные и т. д.), что вызывает проблему.

Dave Sherohman 26.10.2018 09:46

Спасибо, ребята, проблема решена

Riju Mukherjee 26.10.2018 10:08
0
11
34
1

Ответы 1

Попробуйте запустить скрипт (через crontab) с

/usr/bin/perl /u01/app/ecm2fs/deep/FS/kadecut.pl ...

Возможно, строка shebang не обрабатывается должным образом. Вы запускали свой сценарий HelloWorld как сценарий Perl или это сценарий .ksh? Старайтесь избегать любых относительных путей в скрипте, он, скорее всего, сломается, потому что среда для другого пользователя может быть другой.

Другие вопросы по теме