linux crontab 不執行python腳本問題


這個問題碰到幾次,記錄一下解決過程。

問題:

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

通過 crontab -e去設置crontab

例如:0     0       *       *       *     python usr/lib64/nagios/plugins/check_dns.py

 

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

原因:

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

 

解決辦法:

在/etc/cron.d 目錄下新建一個任務:vim dns-check

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/usr/lib64/nagios/plugins/      # python 腳本路徑
*/1 * * * * root python check_dns.py # 執行python腳本

 

感謝 這個作者https://www.cnblogs.com/terrycy/p/6961339.html

 


免責聲明!

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



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