cron job'django-cron'没有在ubuntu cron标签中运行

时间:2014-03-03 14:41:54

标签: django ubuntu cron ubuntu-10.04 django-cron

我正在使用django_cron来安排工作,当我使用python manage.py runcrons这项工作很好。但是在ubuntu中添加cron作业后,cron list job没有执行。 我的setting.py是:

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

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

先谢谢

1 个答案:

答案 0 :(得分:0)

作为猜测

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

因为未在cron环境中设置PATH而失败。您应该包含python解释器的完整路径。

cron作业中的其他常见错误是脚本没有执行权限。通常,cron错误通过电子邮件发送到root,因此您应该了解有关根邮箱

上的错误的更多信息