Я хочу запустить .py скрипт:
python /home/project/manage.py slope_update
Если я запускаю его из оболочки, все в порядке, но в cron не работает:
*/10 * * * * root python /home/project/manage.py slope_update
Что не так?
Я редактирую свой файл / etc / crontab от root
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
#
*/10 * * * * root /usr/bin/python /home/project/manage.py slope_update
С помощью пользовательских квантов:
* / 10 * * * * корень / usr / bin / python /home/project/manage.py slope_update >> /tmp/foo.log 2> & 1
кот foo.log
Неизвестная команда: slope_update Введите для использования команду manage.py help.
Почему slope_update пытается использовать как команду, но должен иметь как параметр Если этот "python /home/project/manage.py slope_update" запускается в терминале, это работает. Зачем?
Перенаправление ошибки в файл облегчит отладку:
*/10 * * * * root python /home/project/manage.py slope_update >> /tmp/foo.log 2>&1
Попробуйте указать полный путь к python в вашем crontab, например.
*/10 * * * * root /usr/bin/python /home/project/manage.py slope_update
Редактировать:
Проблема будет в том, что PATH в cron не включает каталог, в котором установлен python (/ usr / bin), поэтому вам нужно указать полный путь к python.
Редактировать Редактировать:
Вы запускаете это из / etc / crontab? Если нет, то корневой параметр не требуется и может вызывать проблемы.
Проверяйте электронную почту на наличие почты от cron, поскольку он отправляет вам выходные данные задания.
Проверьте, где живет ваш питон, which python
и соответствующим образом скорректируйте путь в crontab.