Linux中crontab日志配置


crontab在/var/log/目錄下沒有cron.log文件

  1. 修改rsyslog文件:
    /etc/rsyslog.d/50-default.conf
    將 rsyslog 文件中的 #cron.* 前的 # 刪掉;

  2. 重啟rsyslog服務:
    service rsyslog restart

  3. 重啟cron服務:  
    service cron restart

  4. 查看日志文件:
    tail -f /var/log/cron.log

django crontab定時執行任務

  1. 安裝 pip install django-crontab

  2. 添加app名稱到 settings.py中

    INSTALLED_APPS = (
    'django_crontab',#這個不是app的名字,必須要添加到前面,不能接着app后面添加,否則會報錯
    ...
    )
    
  3. 接下來創建定時任務可以分成兩種,一種是執行自定義的mange.py的命令,另一種是執行自定義函數。

    我選擇的方法是自定義函數。

  4. 首先在原來的app 中(與view.py同級)新建一個cron.py (名字可以任意,其實也可以放在view.py中,新建文件方便管理。)

    def test():
    print (123)
    # 你要執行的任務函數
    
  5. 在 settings.py中的最后增加

    CRONJOBS = [
    ('*/5 * * * *', 'appname.cron.test','>>/home/test.log')
    ]
    如果你有多個定時任務,都放入CORJOBS中即可。
    
    • ‘/5 * * *’ 遵循的是crontab 語法。

    • ‘appname.cron.test’,這個appname就是你開發時加入到settings中的那個。因為你的cron.py文件就在這個下面,否則找不到路徑。cron 就是你自己起的任務文件的名字。test就是執行的函數中的內容。

    • ‘>>/home/test.log’,通常會輸出信息到一個文件中,就使用這個方法,注意的是‘>>’表示追加寫入,’>’表示覆蓋寫入。

  6. 啟動

    以上都完成后,需要執行
    python3 manage.py crontab add
    將任務添加並生效

    顯示當前的定時任務
    python3 manage.py crontab show

    刪除所有定時任務
    python3 manage.py crontab remove

  7. 重啟django服務。

  8. 執行 crontab -e可以看到系統中創建了該定時任務。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM