行
創(chuàng)建一個(gè)每分鐘在 ~/test.txt
文件中寫入 Goodbye World
的計(jì)劃
- 增加一個(gè)定時(shí)計(jì)劃
$ crontab -e
- 進(jìn)入默認(rèn)的編輯器,插入
* * * * * echo "Goodbye World" >> ~/test.txt
知
原理
cron 由 crond守護(hù)進(jìn)程 和 一組表 [ crontab 文件] 組成
- crond 進(jìn)程 :系統(tǒng)啟動(dòng)時(shí)猜旬,init進(jìn)程啟動(dòng) crond 進(jìn)程并監(jiān)視滥搭,在其消失時(shí)重啟啟動(dòng)矾利。該進(jìn)程每分鐘喚醒一次尤揣,檢查 crontab 文件來判斷需要做什么业筏。如果有任務(wù)捻悯, crond 會(huì) fork 出子進(jìn)程執(zhí)行具體任務(wù)
- crontab 文件:每個(gè)用戶有一個(gè)以用戶名命名的 crontab 文件匆赃,位于
/var/spool/cron/
目錄下。若管理員允許或者禁止其他用戶擁有crontab文件今缚,則應(yīng)編輯/etc/下面的cron.deny和cron.allow這兩個(gè)文件來禁止或允許用戶擁有自己的crontab文件算柳。每一個(gè)用戶都可以有自己的crontab文件,但在一個(gè)較大的系統(tǒng)中姓言,系統(tǒng)管理員一般會(huì)禁止這些文件瞬项,而只在整個(gè)系統(tǒng)保留一個(gè)這樣的文件。
crontab格式
crontab格式.jpg
第五位:0表示Sunday, 1 表示 Monday何荚, 依次類推
特殊符號:
-
*
: 代表取值范圍內(nèi)的數(shù)字 -
/
: 代表 "每" -
-
: 代表從某個(gè)數(shù)字到某個(gè)數(shù)字 -
,
: 分開幾個(gè)離散的數(shù)字
eg :
*/15 * * * * ls // 每15分鐘執(zhí)行一次ls命令 [即每個(gè)小時(shí)的第0 15 30 45 60分鐘執(zhí)行l(wèi)s命令]
25 8-11 10,12 * * ls //每月10號和12號的8到11點(diǎn)第25分鐘執(zhí)行l(wèi)s命令囱淋,
常用命令
crontab相關(guān)命令:
- 查看
crontab -l
- 編輯
crontab -e
- 刪除
crontab -r
crond相關(guān)命令:
- 啟動(dòng)
/sbin/service crond start
- 關(guān)閉
/sbin/service crond stop
- 重啟
/sbin/service crond restart
- 重新載入
/sbin/service crond reload