Я выполняю 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?