Django命令由Crontab调用,但它们不会被执行

时间:2013-12-05 11:48:33

标签: python django cron command crontab

我的'sudo crontab -e'设置如下:

0 7,8,9,10,11,20 * * * /home/ubuntu/mydjangoapp/manage.py command >> /home/ubuntu/mydjangoapp/file.log

今天它在早上7点和早上8点正确执行,但它突然停止工作......我检查了/ var / log / syslog,它说cronjob正在运行,但没有任何反应。

我尝试将crontab更改为

0 7,8,9,10,11,20 * * * /home/ubuntu/mydjangoapp/manage.py command

然后

0 7,8,9,10,11,20 * * * /home/ubuntu/mydjangoapp/manage.py command

0 7,8,9,10,11,20 * * * /usr/bin/python /home/ubuntu/mydjangoapp/manage.py command

但是没有成功 - / var / log / syslog仍然说该命令正在执行,但没有任何反应。

我尝试运行一个简单的命令,例如

10 * * * * cat /absolutepath/file1 >> /absolutepath/file2

它确实有效,所以我认为如果我创建一个运行我命令的script.sh它可能会有用:

!/bin/sh
/usr/bin/python /home/ubuntu/myapp/manage.py chronwakeup

但没有成功 - 然后我想,也许我的python路径没有定义,所以我补充道:

!/ bin / sh的     export PATH =“{$ PATH}:/ usr / local / lib / python2.7 / dist-packages / django_evolution-0.6.9-py2.7.egg:/usr/local/lib/python2.7/dist-packages /dnspython-1.11.1-py2.7.egg:/usr/local/lib/python2.7/dist-packages/Django-1.5-py2.7.egg:/usr/lib/python2.7:/usr/ LIB / python2.7 /开发平台,将linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/ USR / local / lib目录/ python2.7 / DIST-包:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PIL:/ usr / lib中/ pymodules / python2 0.7"     / usr / bin / python /home/ubuntu/myapp/manage.py chronwakeup

然而,再次没有成功。然后我尝试创建一个名为dostuff.py的简单django命令,该命令只包含两个打印语句:

from django.core.management.base import NoArgsCommand, make_option

class Command(NoArgsCommand):

    help = "Excecute Chron Wake Up Chron Roulette for the current batch of wake-ups."

    option_list = NoArgsCommand.option_list + (
        make_option('--verbose', action='store_true'),
         )

    def handle_noargs(self, **options):

         print "doing stuff..."
         print "Done doing stuff."

并将crontab命令添加为'sudo crontab -e':

43 7,8,9,10,11,20 * * * /home/ubuntu/myapp/manage.py dostuff >> /home/ubuntu/itworked

再次执行命令,文件已创建,但文件中没有创建任何内容......

最奇怪的是,它今天早上正在工作,它突然停止工作......

如果你能帮助我,我将非常感激!

0 个答案:

没有答案