1.指令碼內容: 0 2 * * * cd /usr/local/datax/bin && python datax.py ../job/bidresourse.json
2.問題分析
2.1檢視crontab服務狀態systemctl status crontab,檢視日誌tail -222f /var/log/cron
2. 2對比直接執行env 與 crontab 執行 env > /temp.txt 結果不一致
3.問題解決
即使是同一使用者,crontab執行的環境變數跟直接互動終端的環境變數都不一樣,一般source /etc/profile載入指令碼執行需要的環境變數即可,如果不行再載入一下/etc/bashrc, 及使用者目錄下的profle,bashrc
0 2 * * * cd /usr/local/datax/bin && source /etc/profile && python datax.py ../job/bidresourse.json
監測服務是否正常執行指令碼
10 cd home work pay data load bash check running status.sh check running status.sh 用於檢查pay data load是否正常執行的指令碼 current path cd dirname 0 pwd 檢查當前執行時間的...
shell指令碼手動執行成功,定時任務執行指令碼不成功
原因 cron的環境變數和shell指令碼的環境變數不一樣 解決辦法 方法一 定時任務裡面切換到root執行 5 su root c data pkgs mysql tools auto backup.sh 方法二 在指令碼裡面新增環境變數 親測可用 vim data pkgs mysql tool...
執行shell腳本報錯,但控制台執行正常
問題 最近編寫shell指令碼,遇到直接執行shell指令碼怎麼也不成功,但是在控制台輸入命令就能執行成功,報錯如下圖所示 指令碼內容如下 指令碼實現功能很簡單,且語法也沒問題,但是執行指令碼就報錯,經過艱苦排查,發現問題在於filebeat kill.sh是我在windows下編輯然後上傳到lin...