- 論壇徽章:
- 1
|
久違了的cron,我要記住你的用法!
cron簡(jiǎn)易教程
1.編輯/usr/spool/cron/crontabs/root文件(以root用戶執(zhí)行。若以其它用戶執(zhí)行,則編輯相應(yīng)文件名),
按 minute hour day_of_month month weekday command 的格式加入行。
如 30 8 8 * * echo "Hello" 即每月8日8:30執(zhí)行命令echo "Hello"。
2.ps –ef | grep cron -> kill -9 cron的進(jìn)程號(hào)
3./etc/cron
(2、3即重啟cron進(jìn)程,無須重啟系統(tǒng))
一、與crontab相關(guān)的目錄
1、/usr/lib/cron cron服務(wù)主目錄,主要包括以下:
/usr/lib/cron/cron.allow 允許cron服務(wù)的列表。
/usr/lib/cron/cron.deny 禁止cron服務(wù)的列表。
默認(rèn)情況下,僅僅有cron.deny空文件。cron.allow不存在,如果建立了cron.allow則只有root用戶可用crontab命令。如相關(guān)文件存在,則存在優(yōu)先原則;*.allow優(yōu)先于*.deny。cron.*文件格式:用戶名一行行的加入。
/usr/lib/cron/queuedefs cron 數(shù)據(jù)文件
/usr/lib/cron/FIFO 當(dāng)新的作業(yè)提交由crontab完成時(shí),一個(gè)發(fā)送消息到cron守護(hù)進(jìn)程的命令管道
/usr/lib/cron/log cron執(zhí)行的log文件
2、/usr/spool/cron/crontabs crontab表目錄,包括所有開啟cron服務(wù)的用戶文件,以用戶名為文件名。用戶屬性隨意,組屬性為cron。
3、/etc/default/cron CRONLOG設(shè)置為YES,該值默認(rèn)為NO,系統(tǒng)將自動(dòng)生成相應(yīng)的日志文件/usr/lib/cron/log。 在/etc/default/cron中MAXLOGSIZE 限制了log文件的大小,該變量以512字節(jié)為單位設(shè)定的log的最大塊數(shù),缺省為2048塊。MAXCRON變量,控制在同一時(shí)刻允許運(yùn)行的最大進(jìn)程數(shù)量,缺省為100。
二、crontab表的默認(rèn)值
PATH=/bin:/usr/bin:
SHELL=/bin/sh
HOME
LOGNAME
同時(shí)默認(rèn)%為行結(jié)束符。
三、crontab命令格式與文件格式。
1、crontab命令的格式
crontab [ -u user ] [-e | -l | -r | File]
-e 編輯當(dāng)前用戶的crontab文件,如不存在,則啟動(dòng)編輯佳話來創(chuàng)建之。
-l 顯示用戶的crontab文件內(nèi)容
-r 從crontabs目錄中刪除用戶的crontab文件
-u user 用root權(quán)限修改相應(yīng)用戶的crontab表。
File 該命令首先對(duì)File的內(nèi)容進(jìn)行合法性檢查,如有效,則copy到 /var/admn/cron/crontabs目錄中,并以用戶名為文件名或覆蓋當(dāng)前用戶原來的 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)從...到....:數(shù)字用“-”連接,表范圍,如1-5表示1,2,3,4,5。
(2)單獨(dú)數(shù)字表示所屬時(shí)間內(nèi),如Month中填6,表示6月內(nèi);
(3)逗號(hào)分隔,表示單列項(xiàng),如1,3,5
(4)*號(hào)表所有合法值,如:*放在month表示1~12
(5)/表示每的意思,如:0/20放在minute表示0分鐘開始每20分鐘執(zhí)行一次。
(6)星期與天的關(guān)系是或的關(guān)系,如:1-10放在day,5放在weekday下。表示1到10日或星期5執(zhí)行。
四、使用crontab命令三種方式:
1、手動(dòng)方式:crontab –e
2、腳本方式:
例:echo ‘0 12 * * * date >/nowdate’ >>/var/spool/cron/crontabs/root
crontab /var/spool/cron/crontabs/root
3、腳本方式(必要root權(quán)限):
例: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
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/31/showart_511162.html |
|