Я пытаюсь запустить команду управления Django из cron.Я использую virtualenv, чтобы сохранить свой проект в изолированной среде.
Я видел здесь и в других примерах примеры запуска команд управления изнутри virtualenv, например:
0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg
Однако, хотя в системном журнале есть записькогда задача должна была начаться, эта задача фактически никогда не запускается (файл журнала для скрипта пуст).Если я запускаю строку вручную из оболочки, она работает как положено.
Единственный способ получить команду для запуска через cron - это разбить команды на части и поместить их в сценарий оболочки тупого bash:
#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg
РЕДАКТИРОВАТЬ:
ars придумали рабочую комбинацию команд:
0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg
По крайней мере, в моем случае вызов сценария активации для virtualenv ничего не сделал.Это работает, так и с шоу.