linux crontab執行python腳本問題


在工作中我們經常會寫一個python腳本,然后想通過定時任務去執行,這時我們會想到crontab.

通過 crontab -e去設置crontab

例如:0     0       *       *       *     python /data/webapps/cmdb.import.api/routine_analysis_halog.py

 

這時如果你的腳本中會有涉及讀取配置文件或者讀寫文件的動作,一般你的定時任務都不會執行.

因為你的腳本在執行時,由於是通過crontab去執行的,他的執行目錄會變成當前用戶的家目錄,如果是root,就會在/root/下執行.

所以這樣設置定時任務是不行的.

 

我們也可以通過在/etc/cron.d下新建一個文件去指定定時任務執行目錄的方式去設置定時任務.

如:

[root@zb_10-0-3-72_lin_opsipaddressmanager cron.d]# cat /etc/cron.d/sync_jira 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/data/webapps/ops.manage.ui
0 5 * * * root python manage.py sync_jira_info 

這樣就可以指定crontab的執行目錄了.

 


免責聲明!

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



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