Назад | Перейти на главную страницу

Почему не работает эта cron?

Я выполняю crontab -e и добавляю следующую строку:

0   9    *   *   *      /usr/bin/python /home/g1/g1/utils/statsEmail.py > /home/g1/log/statsemail.log

Но не работает! Зачем? Сам скрипт работает. Также журнал пуст.

Моя другая команда в crontab такова, и она работает:

0   9    *   *   *      /usr/bin/python /home/g1/g1/sphinx/updateall.py > /home/g1/log/updateall.log

вы можете добавить MAIL TO = ваш адрес электронной почты в crontab, чтобы получить подробную информацию о сбое и исправить это.

РЕДАКТИРОВАТЬ: вероятно, ваш cron не может запустить ваш скрипт, потому что это не разрешено

Вы пишете STDOUT в файл журнала, но вы также должны передать STDERR в тот же файл журнала. В настоящий момент вы, вероятно, не увидите никаких сообщений об ошибках, созданных этим скриптом.

Ваш сценарий может дать сбой из-за чего-то простого, например, у пользователя, выполняющего задание cron, нет разрешения на выполнение сценария. Также помните, что cron выполняет команды в очень простой среде и может сильно отличаться от вашей обычной интерактивной среды оболочки.

Измените свой сценарий на это:

0   9    *   *   *      /usr/bin/python /home/g1/g1/sphinx/updateall.py > /home/g1/log/updateall.log 2>&1

Что теперь показывает updateall.log?

Кроме того, cron обычно записывает некоторую информацию в файл журнала. Что /var/log/cron.log говорит о вашей работе cron?