crontab не выполняет perl скрипт - PullRequest
1 голос
/ 14 февраля 2020

У меня проблемы с планированием задачи crontab; Я гуглил и прочитал тонны страниц, но не могу понять, приведены ли приведенные решения в качестве примера, например c, и, похоже, они не решают мою проблему.

Я пытаюсь запустить основную * 1013 Сценарий * perl с именем perl_speedtest.pl, который находится в каталоге /home/pi/Documents/Projects на моем Raspberry Pi. Когда я запускаю сценарий вручную с помощью команды: perl perl_speedtest.pl из указанного выше каталога, он отлично работает.

Я запланировал запуск задачи каждые 20 минут со следующим заданием crontab с помощью команды 'crontab -e' в терминале:

*/20 * * * * perl /home/pi/Documents/Projects/perl_speedtest.pl

по какой-то причине это не выполняется .. какие-либо идеи? Рады поделиться более подробной информацией, если это необходимо.

1 Ответ

0 голосов
/ 15 февраля 2020

Установите правильное окружение в cron, как указано выше. Иначе, cron использует довольно минимальную среду (включая PATH, PERL5LIB, et c). Ваш crontab должен выглядеть примерно так, в зависимости от вашей реальной среды, которую вы используете в интерактивной оболочке:

HOME=/home/pi
SHELL=/bin/bash
MAIL=/usr/bin/mail

06 */1 * * * source ~/.bashrc &> /dev/null ; perl /home/pi/Documents/Projects/perl_speedtest.pl

# or this (find the perl path by executing "which perl"):

06 */1 * * * /usr/bin/perl /home/pi/Documents/Projects/perl_speedtest.pl
...