Я пытаюсь запустить команду управления Django через crontab, установленный в /etc/cron.d/mycron в Ubuntu.
Сначала я протестировал базовую настройку, написав следующее в / etc / cron.d / mycron:
* * * * * root command echo "Test $(date)" 2>&1 >> /tmp/mycron.log
И я подтвердил, что /tmp/mycron.log обновляется раз в минуту и содержит ожидаемый текст.
Затем я попробовал следующие варианты, используя свое реальное управлениекоманда:
* * * * * root command python /path/to/my/script/manage.py mycommand 2>&1 >> /tmp/mycron.log
* * * * * root command /usr/bin/python /path/to/my/script/manage.py mycommand 2>&1 >> /tmp/mycron.log
* * * * * root command /path/to/my/script/manage.py mycommand 2>&1 >> /tmp/mycron.log
* * * * * python /path/to/my/script/manage.py mycommand 2>&1 >> /tmp/mycron.log
* * * * * /path/to/my/script/manage.py mycommand 2>&1 >> /tmp/mycron.log
* * * * * /usr/bin/python /path/to/my/script/manage.py mycommand 2>&1 >> /tmp/mycron.log
И хотя файл журнала создан, он не содержит ожидаемого текста журнала, который выводит моя команда управления.
После каждого варианта я запускаю sudo touch /etc/cron.d/
для перезагрузкихрон.Даже если бы в моем коде Python была ошибка, я ожидал, что какое-то сообщение об ошибке будет зарегистрировано.
Я проверил tail -f /var/log/syslog
, и единственные ошибки, которые он показывает, относятся к crontabs, которые не 't начать с «root», за что мне выдается ошибка:
Error: bad username; while reading /etc/cron.d/mycron
Для всех остальных я вижу что-то вроде:
Oct 7 10:54:01 localhost CRON[27805]: (root) CMD (/path/to/my/script/manage.py mycommand 2>&1 >> /tmp/mycron.log)
Но в журнал ничего не записывается,и изменения базы данных, которые я ожидаю, не произойдут.Что я делаю неправильно?