介紹如何在 Linux 中查詢與設定 crontab
工作排程所產生的輸出紀錄檔。
crontab
預設記錄檔
在 Linux 中透過 crontab
所執行的工作,預設會將輸出的記錄儲存在 /var/log/syslog
這個系統的記錄檔中。
我們可以透過以下 grep
指令篩選出 crontab
的記錄訊息:
# 篩選出 crontab 的記錄訊息
grep CRON /var/log/syslog
不記錄任何訊息
若希望以 crontab
執行指令時,不要記錄任何訊息,可以將正常輸出訊息與錯誤訊息都導入 /dev/null
,這樣就不會有任何的執行記錄:
# 將正常輸出訊息、錯誤訊息導入 /dev/null * * * * * /path/to/my.sh > /dev/null 2>&1
指定記錄檔
若要將 crontab
指定排程工作的輸出與錯誤訊息,都儲存至指定的紀錄檔中,可以採用以下設定:
# 將正常輸出訊息、錯誤訊息導入 /var/log/myjob.log * * * * * /path/to/my.sh >> /var/log/myjob.log 2>&1
而如果不想儲存過多的普通訊息,只想要把錯誤訊息記錄下來,可以將正常輸出訊息導入 /dev/null
,只將錯誤訊息導入指定的紀錄檔:
# 將正常輸出訊息導入 /dev/null、錯誤訊息導入 /var/log/myerr.log * * * * * /path/to/my.sh 2>> /var/log/myerr.log >/dev/null