crontab異常:shell下可以執行命令,執行crontab卻報錯

sayWhat_sayHello發表於2018-12-25

問題

在shell中可以執行,到了crontab中就報錯。錯誤資訊可以通過呼叫:
cat /var/spool/mail/root進行原因檢視。

一般是環境變數的問題。crontab沒有載入現在系統的環境變數。這裡需要封裝成指令碼,看下面的例子:

解決方案

  1. 例如原本要執行
* * * * * python /home/wei/jianlai/jianlai.py

然後檢視原因發現了一些已經安裝的擴充套件找不到。
這裡先修改命令為

* * * * * /home/wei/jianlai/jianlai.sh
  1. 編輯指令碼
    在路徑下建立檔案然後編輯指令碼,例如:
#!/bin/bash
source /etc/profile
python /home/wei/jianlai/jianlai.py

主要是加上前兩句。

  1. 給指令碼加許可權
chmod +x jianlai.sh   

這樣就大功告成了。

相關文章