ubuntu啟動crontab日誌生成
阿新 • • 發佈:2021-03-04
前言:
crontab作為Ubuntu中自動執行指令的工具, 幾乎說是不可避免的會使用到
但其中的程式碼是否成功按照所期望的設定成功執行, 需要通過日誌檢視定位
Ubuntu中預設是沒有開啟crontab的日誌輸出的, 即在/var/log/目錄下沒有cron.log日誌檔案
啟動crontab日誌生成:
-
修改rsyslog:
這裡使用vim編輯器
sudo vim /etc/rsyslog.d/50-default.conf
找到此條:
cron.* /var/log/cron.log #將cron前面的註釋符去掉
-
重啟rsyslog & cron
sudo service
-
進入日誌目錄檢視日誌:
cd /var/log
此時目錄中以存在cron.log:
No MTA installed, discarding output:
檢視日誌發現一個問題:
日誌中並沒有指令輸出, 而是
No MTA installed, discarding output
參考資料:
https://shipengliang.com/software-exp/no-mta-installed-discarding-output%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95.html
這裡是由於crontab執行指令碼時會以郵件的形式傳送至指定郵箱, 而並沒有直接輸出至日誌中
如果沒有安裝郵箱伺服器, 則就會顯示這條提示
解決的方法是在每條指令的末尾新增輸出重定向並加個2>&1
, 如:
原指令 > /var/log/cron_output.log 2>&1
這樣就能在另外的檔案中獲取到指令輸出