2

Я пытаюсь заставить скрипт запускаться два раза в час в рабочие часы в будние дни, и у меня есть следующее в моей настройке cron:

\# m     h       dom     mon     dow     command

8,48    8-17    *       *       1-5      python ~/documents/scripts/script.py

Тем не менее, ничего не выполняется. Я попробовал варианты этого, но, похоже, ничего не произошло. запуск скрипта вручную работает нормально.

мой единственный другой скрипт cron работает как по маслу:

45      5       *       *       *       python ~/documents/scripts/rdiff.py

Каждый раз в 05:45 резервная копия моей системы переносится на внешний диск.

Что мне не хватает?

1 ответ1

1

Ваша спецификация времени crontab верна, я только что проверил это:

1,41 0-17 * * 1-5 /bin/echo 'running'

Так как ваша вторая запись в crontab работает нормально, то python обнаружен в вашей среде по умолчанию (в целом безопаснее использовать полный путь для исполняемых файлов).

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

Ответы в этом направлении (их много на нескольких сайтах SE) могут помочь вам в дальнейшем расследовании: https://serverfault.com/questions/337631/crontab-execution-doesnt-have-the-same-environment-variables-as-executing -user

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .