一、與crontab相關的目錄
1、/usr/lib/cron
cron服務主目錄,主要包括以下。
/usr/lib/cron/cron.allow
允許cron服務的列表。
/usr/lib/cron/cron.deny
禁止cron服務的列表。
默認情況下,僅僅有cron.deny文件。cron.allow和cron.deny都不存在,則只有root用戶可用crontab命令。如相關文件存在,則存在優先原則;*.allow優先於*.deny。cron.*文件格式:用戶名一行行的加入。
/usr/lib/cron/queuedefs
cron 數據文件
/usr/lib/cron/FIFO
當新的作業提交由crontab完成時,一個發送消息到cron守護進程的命令管道
/usr/lib/cron/log
cron執行的log文件
2、/usr/spool/cron/crontabs
crontab表目錄,包括所有開啟cron服務的用戶文件,以用戶名為文件名。用戶屬性隨意,組屬性為cron。
3、/etc/default/cron
CRONLOG設置為YES,該值默認為NO,系統將自動生成相應的日志文件/usr/lib/cron/log。 在/etc/default/cron中MAXLOGSIZE 限制了log文件的大小,該變量以512字節為單位設定的log的最大塊數,缺省為2048塊。MAXCRON變量,控制在同一時刻允許運行的最大進程數量,缺省為100。
二、crontab表的默認值
默認
PATH=/bin:/usr/bin:
SHELL=/bin/sh
HOME
LOGNAME
同時默認%為行結束符。
三、crontab命令格式與文件格式。
1、crontab命令的格式
crontab [ -u user ] [-e | -l | -r | File]
-e 編輯當前用戶的crontab文件,如不存在,則啟動編輯佳話來創建之。
-l 顯示用戶的crontab文件內容
-r 從crontabs目錄中刪除用戶的crontab文件
-u user 用root權限修改相應用戶的crontab表。
File 該命令首先對File的內容進行合法性檢查,如有效,則copy到 /var/admn/cron/crontabs目錄中,並以用戶名為文件名或覆蓋當前用戶原來的 crontab文件。
2、crontab文件格式
crontab文件記錄的格式:
minute hour day_of_month month weekday command
0~59 0~23 1~31天 1~12 0~6(0為星期日)Shell命令或腳本
(1)從...到....:數字用“-”連接,表范圍,如1-5表示1,2,3,4,5。
(2)單獨數字表示所屬時間內,如Month中填6,表示6月內;
(3)逗號分隔,表示單列項,如1,3,5
(4)*號表所有合法值,如:*放在month表示1~12
(5)/表示每的意思,如:0/20放在minute表示0分鐘開始每20分鐘執行一次。
(6)星期與天的關系是或的關系,如:1-10放在day,5放在weekday下。表示1到10日或星期5執行。
四、使用crontab命令三種方式:
1、手動方式:crontab –e
2、腳本方式:
例:echo ‘0 12 * * * date >/nowdate’ >>/var/spool/cron/crontabs/root
crontab /var/spool/cron/crontabs/root
3、腳本方式(必要root權限):
例:echo ‘0 12 * * * date >/nowdate’ >>/var/spool/cron/crontabs/root
ps –ef |awk ‘/cron/{print “kill -9”,$2} |sh
rm /usr/lib/cron/FIFO
/etc/cron