關於linux系統下CRONTAB運行python腳本不生效
阿新 • • 發佈:2019-03-12
bash 狀態 環境 遇到 關於 測試 查看 任務 全路徑
成功運行
關於linux系統下CRONTAB運行python腳本不生效
運維中難免會在定時任務中同時使用shell和python腳本,shell腳本不生效大部分為環境變量的問題,在腳本前增加環境變量基本能解決,如加上 source /etc/profile。
最近遇到python腳本不能執行的情況,狀態描述,如目錄/home/script/SH下有腳本Qdd.py和download.sh,手動是可以執行的是生效的,如下:
python3 /home/script/SH/Qdd.py
放到定時任務crontab中,如下:
15 03 * * * python3 /home/script/SH/Qdd.py > /dev/null 2>&1
看cron日誌是執行了的,但是目錄/home/script/SH下沒有下載的東西,後將Qdd.py加入到download.sh腳本下,如下:
#!/bin/bash
python3 /home/script/SH/Qdd.py > /dev/null 2>&1
查看/home/script/SH目錄沒有下載的內容,後來看了下root根目錄,在其根目錄下,看來是運行了只不過是下載到了root根目錄。
將腳本download.sh做如下修改:
#!/bin/bash
cd /home/script/SH
python3 Qdd.py > /dev/null 2>&1
定時任務測試
15 09 * python3 /home/script/SH/download.sh > /dev/null 2>&1
目錄/home/script/SH下有下載內容
註意:多版本python註意全路徑,區分版本
關於linux系統下CRONTAB運行python腳本不生效