Je suis en train de lancer un Django de commande de gestion de cron. Je suis à l'aide de virtualenv pour garder mon projet de bac à sable.
J'ai vu des exemples d'ici et d'ailleurs qui montrent l'exécution de la gestion des commandes à partir de virtualenv est comme:
0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg
Cependant, même si syslog montre d'une entrée si la tâche doit avoir commencé, cette tâche n'a jamais vraiment fonctionne (le fichier journal pour le script est vide). Si j'exécute la ligne manuellement à partir du shell, il fonctionne comme prévu.
La seule façon que je peux actuellement obtenir l'exécution de la commande via cron, est de briser les commandes et les mettre dans un muet bash script:
#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg
Merci de m'éclairer quelle est la différence. Ce qui me manque?
Merci
EDIT:
ars est venu avec une combinaison de commandes:
0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg
Au moins dans mon cas, en invoquant l'activer script pour le virtualenv n'a rien fait. Cela fonctionne, donc le spectacle.