手動執行指令碼正常,但crontab不執行

2021-10-07 22:24:53 字數 491 閱讀 8589

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...