Cron 是類 unix 操作系統中基於時間的作業調度器。用户使用這個實用工具來安排作業 (命令或腳本) 在固定的時間、日期或間隔定期運行。Crontab 是一個配置文件,它指定按給定時間表定期運行的 shell 命令。
在管理 Linux 系統 (尤其是 Ubuntu 和 Debian) 時,瞭解在哪裏可以找到 crontab 日誌對於系統管理員和開發人員來説至關重要。
Cron 日誌默認位置
Ubuntu 和 Debian 中,Cron Jobs 及其輸出通常是由 syslog 守護程序記錄,而不是在專用的 cron 日誌文件中,日誌默認記錄到 /var/log/syslog。要查看與 Cron 相關的條目,可以使用 GREP 命令:
grep CRON /var/log/syslog
配置單獨的 Cron 日誌
為了便於監控,一些管理員更喜歡使用專用的 cron 日誌文件。這可以通過配置 rsyslog 服務來實現,該服務負責處理系統日誌記錄。
(1) 打開 /etc/rsyslog.conf配置文件,註釋或者添加以下行:
cron.* /var/log/cron.log
(2) 編輯完成後,重新啓動 rsyslog 服務以應用更改
sudo systemctl restart rsyslog
(3) 檢查 /var/log/cron.log 是否有 cron 日誌出現
查看和理解 Cron 日誌
Cron 日誌通常包含日期、時間、主機名、Cron 標識符、運行 Cron Job 的用户和執行的命令。
Jul 5 10:00:01 hostname CRON[12345]: (username) CMD (command)
該條目顯示 Cron Job 在 7 月 5 日上午 10:00 運行了一條命令。
Cron 故障處理
如果 Cron Job 沒有按預期運行,檢查 Cron 日誌是排除故障的第一步。 Cron 語法錯誤、權限問題或環境問題通常是故障原因。
其它提示
- 執行命令
sudo systemctl status cron,確保 cron 服務正常運行。 - 對於詳細的故障排除,可以考慮暫時增加日誌的篇幅。
- 定期監視和歸檔日誌,以避免磁盤空間問題。
我的開源項目
- course-tencent-cloud(酷瓜雲課堂 - gitee倉庫)
- course-tencent-cloud(酷瓜雲課堂 - github倉庫)