2014-03-03 94 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,但讓我試試完整路徑。 –