нуб вопрос по выполнению задания cron

1

У меня есть работа 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)

Вопрос: что означает ошибка? Означает ли это, что произошла ошибка при попытке выполнить сценарий или что в моем скрипте есть ошибка?

Что может быть ошибкой?

  • 0
    Вы запускаете это в корневом cronjob или в crontab вашего обычного пользователя?
  • 0
    @im запускает его из crontab www-data
Показать ещё 1 комментарий
Теги:
cron

1 ответ

3

Обычная ошибка с задачами crontab заключается в том, что среда, в которой они работают, не имеет всех env. вары. вы привыкли. Возможно, здесь PATH не настроен на все обычные каталоги, а cron не находит исполняемый python. Вы должны написать полный путь к нему. следующим образом.

07 14 * * 1-5 /usr/bin/python /home/foo/cronscript.py
  • 1
    В качестве альтернативы, добавьте shebang в ваш скрипт на python, например #!/usr/bin/env python (в первой строке), и вызовите скрипт напрямую (хотя сначала вам нужно выполнить chmod + x).
  • 0
    хм для тестирования я сделал то, что советовал @tdammers и установил файл в + x .. теперь статус выхода изменен на 127
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню