python腳本手動可以執行,crontab定時不執行或者報錯的解決方法

python腳本手動可以執行,crontab定時不執行或者報錯的解決方法

crontab定時不執行解決方法

python腳本一定要是絕對路徑

15 9,21 * * * /usr/local/bin/python3  /home/bianzu/bianzu-script/aps_bianzu_monitor.py

執行腳本添加日誌

shell中每個進程都和三個系統文件相關聯:標準輸入stdin、標準輸出stdout、標準錯誤stderr,三個系統文件的文件描述符分別爲0,1,2
2>&1 的意思就是將標準錯誤也輸出到標準輸出當中

15 9,21 * * * /usr/local/bin/python3  /home/bianzu/bianzu-script/aps_bianzu_monitor.py >> /home/bianzu/bianzu-script/log/aps_bianzu_monitor.log 2>&1

crontab定時執行報錯的解決方法

爲crontab引入執行腳本需要的環境變量
如下所示引入了python3、java的完整路徑

10 3,15 * * * export PYSPARK_PYTHON=/usr/local/bin/python3;export JAVA_HOME=/data/bkce/service/java; /usr/local/bin/python3 /home/bianzu/bianzu-script/ne_csv.py >> /home/bianzu/bianzu-script/log/ne_csv.log 2>&1

Crontab用法補充

查看定時任務

crontab -l

修改定時任務

crontab -e

查看腳本文件的執行權限

ll ne_csv.py

賦予腳本文件執行權限

chmod 775 warehouse_monitor.py

查看定時任務執行的日誌

tail -f ne_csv.log

crontab命令格式

minute hour day month week command
minute:表示分鐘 ,0-59
hour:表示小時,0-23
day:日期,1-31
month:月份,1-12
week:星期幾
command:要執行的命令

crond

crond是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程。
系統任務調度:系統週期性所要執行的工作,比如寫緩存數據到硬盤、日誌清理等。
/etc目錄下的crontab文件就是系統任務調度的配置文件
在這裏插入圖片描述
第一行SHELL變量指定了系統要使用的shell
第二行PATH變量指定了系統執行命令的路徑
第三行MAILTO變量指定了crond的任務執行信息將通過電子郵件發送給root用戶

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章