У меня есть работа cron, как показано ниже:
07 14 * * 1-5 python /home/foo/cronscript.py
Сценарий:
if __name__ == '__main__':
f = open('/home/foo/cronpass.txt','w')
f.write('abc')
f.close()
Проверка syslog Предположим, что команда выполнялась, но с ошибкой:
Aug 29 14:07:01 ubuntuserver CRON[16490]: (www-data) CMD (python /home/foo/cronscript.py)
Aug 29 14:07:01 ubuntuserver CRON[16488]: (CRON) error (grandchild #16490 failed with exit status 1)
Вопрос: что означает ошибка? Означает ли это, что произошла ошибка при попытке выполнить сценарий или что в моем скрипте есть ошибка?
Что может быть ошибкой?
Обычная ошибка с задачами crontab
заключается в том, что среда, в которой они работают, не имеет всех env. вары. вы привыкли. Возможно, здесь PATH
не настроен на все обычные каталоги, а cron не находит исполняемый python
. Вы должны написать полный путь к нему. следующим образом.
07 14 * * 1-5 /usr/bin/python /home/foo/cronscript.py
#!/usr/bin/env python
(в первой строке), и вызовите скрипт напрямую (хотя сначала вам нужно выполнить chmod + x).