首先是安裝,大多數發行版都預裝了,Gentoo下的cron有許多種實現,可以用emerge --search cron來查看,這裡用vixIE-cron,因為功能比較完整,命令語法也比較通用。
# emerge vixIE-cron
之後要啟動cron服務:
# /etc/init.d/vixIE-cron start
別忘了把cron加入到啟動腳本中:
# rc-update add vixIE-cron default
完成安裝。
系統cron設定:/etc/crontab
通過 /etc/crontab 文件,可以設定系統定期執行的任務,當然,要想編輯這個文件,得有root權限。
讓我們打開 /etc/crontab,看看cron的語法:
1 | # for vixIE cron
真正描述執行的任務在14~18行,每行代表了一個定期執行的任務,從前到後,分為3部分:
第一部分,一堆奇怪的數字和星號,這部分描述任務的執行周期和時間,後面我們將詳細解釋。
第二部分,上面的文件全部是"root",描述了執行任務時的用戶。
第三部分,為需要執行的完整命令。
第一部分分為5個小部分,沒部分可以是數字或者星號,分別代表了分鐘、小時、日期、月份、周,讓我們來看一個例子:
0 7 * * * root mpg123 ~/wakeup.mp3
以下是各部分的取之范圍:
分鐘 0~59 小時 0~23 日期 1~31 月份 1~12 周 0~6
其中周的范圍0~6,0代表星期天,1~6代表周一~周六。
讓我們來看更多的例子:
0 4 * * 0 root emerge --sync && emerge -uD world #每周日凌晨4點,更新系統
*/2 * * * * root ............... #每兩分鐘就執行........
用戶的cron:crontab命令
上面我們提到的 /etc/crontab 文件,只能指定系統定期執行的命令,如果用戶想設定自己定期需要執行的命令的話,就要用到crontab命令,編輯自己的crontab文件。
首先,用戶必須隸屬於cron組才可以用crontab命令,可以用下面的命令把用戶加入到cron組中:
# gpasswd -a galeki cron crontab命令主要有3個參數:
-e :編輯用戶的crontab。
-l :列出用戶的crontab的內容。
-r :刪除用戶的crontab的內容。
執行crontab -e,將自動打開編輯器,你可以編輯自己的crontab文件,語法和 /etc/crontab 文件一樣,不同的只是,不必再指出執行的用戶,編輯後保存即可。
crontab -l用來查看自己的crontab文件內能,crontab -r刪除自己的crontab。