2014-03-03 64 views
2

我使用django_cron作为一个工作计划,当我使用python manage.py runcrons这项工作很好。但在ubuntu中添加cron作业之后,cron list作业未执行。 我setting.py是:cron job'django-cron'没有运行在ubuntu cron选项卡

CRON_CLASSES = [ 
    "home.cron.HomeCronJob", 
] 

FAILED_RUNS_CRONJOB_EMAIL_PREFIX = [] 
INSTALLED_APPS = (
    'django.contrib.auth', 
    '..................' 
    'django_cron', 
) 

我cron.py文件是:

from django_cron import CronJobBase, Schedule 
from home.management.commands.auto_renueva import republishAds 
class HomeCronJob(CronJobBase): 
    RUN_EVERY_MINS = 2 
    MIN_NUM_FAILURES = 2 
    schedule = Schedule(run_every_mins=RUN_EVERY_MINS) 
    code = 'home.home_cron_job' 

    def do(self): 
     republishAds() 

然后我创建一个shell脚本运行此作业,cron.sh:

#! /bin/bash 
source /home/cis/ENV/muna/bin/activate 
python /home/cis/DjangoLive/Newmunda/mund2anuncios/manage.py runcrons 
deactivate 

和我在ubuntu cron文件中添加的代码有:

*/1 * * * * /home/cis/DjangoLive/Newmunda/mund2anuncios/crons.sh >> /home/cis/Desktop/crons.log 3 >> /home/cis/Desktop/cron_errors.log 

请告诉我我在做什么错在这里。提前

回答

0

感谢作为一种猜测,因为路径不是在cron环境设置

python /home/cis/DjangoLive/Newmunda/mund2anuncios/manage.py runcrons 

将失败。你应该包含python解释器的完整路径。

cron作业中的其他常见错误在脚本上没有执行权限。通常cron错误通过电子邮件发送到根目录,所以你应该在根邮箱上有更多关于错误的信息。

+0

Hii Raul,我已经给cron.sh文件授予了0755权限,并且代码正在运行,当我要运行./cron时。 sh –

+0

你是否尝试使用python的完整路径? –

+0

不,bcs shell脚本激活virtualenv,但让我试试完整路径。 –