ubuntu下啟用crontab定時任務及簡單測試

NO IMAGE

什麼是crontab?介紹引用自百度百科。

crontab命令常見於Unix和類Unix的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於“crontab”檔案中,以供之後讀取和執行。該詞來源於希臘語 chronos(χρνο),原意是時間。通常,crontab儲存的指令被守護程序啟用, crond常常在後臺執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。

crontab可以用來實現linux下的定時任務,這裡記錄crontab在ubuntu上的配置使用以及簡單測試。

1.開啟日誌伺服器rsyslog對crontab的支援

開啟終端,輸入:

cd /etc/rsyslog.d/
ls

列出了兩個檔案:

20-ufw.conf  50-default.conf

我們要對50-default.conf這個檔案進行修改:

vim 50-default.conf

在vim中找到 cron.* 所在行,取消該行的註釋,如下第10行:

#  Default rules for rsyslog.
#
#            For more information see rsyslog.conf(5) and /etc/rsyslog.conf
#
# First some standard log files.  Log by facility.
#
auth,authpriv.*            /var/log/auth.log
*.*;auth,authpriv.none        -/var/log/syslog
cron.*                /var/log/cron.log
#daemon.*            -/var/log/daemon.log
kern.*                -/var/log/kern.log
#lpr.*                -/var/log/lpr.log
mail.*                -/var/log/mail.log
#user.*                -/var/log/user.log

2.殺掉cron程序,再重啟cron服務

先檢視程序id:

rm /var/run/crond.pid
ps -A | grep cron

殺掉對應id:

kill 程序ID

重啟cron服務:

cron restart

3.簡單測試

做一個簡單的測試,在終端中輸入:

crontab -e

可以對cron任務進行編輯,我們新增一個簡單的任務,在檔案末尾加上如下內容:

*/2 * * * * date >> ~/time.log

然後儲存,退出。

這個任務將每兩分鐘向~/time.log檔案中輸入一次當前時間。觀察該任務是否正常執行,藉以判斷當前crontab是否可用。