AIX下的cron使用小結(jié)
1、cron介紹
cron 在AIX系統(tǒng)里是一個(gè)守護(hù)進(jìn)程(Daemon),用來(lái)自動(dòng)運(yùn)行UNIX命令。有了cron后,用戶可以安排類(lèi)似于windows下的“任務(wù)計(jì)劃”,定期自動(dòng)運(yùn)行某些任務(wù)(命令或者腳本)。cron的運(yùn)行是通過(guò)crontab來(lái)驅(qū)動(dòng)的。
cron 進(jìn)程運(yùn)行時(shí),會(huì)讀取/etc/cronlog.conf 配置文件來(lái)指定運(yùn)行日志的存儲(chǔ)信息。如果用戶未配置cronlog.conf,則cron進(jìn)程將運(yùn)行的日志信息存儲(chǔ)在/var/adm/cron/log 文件里?梢酝ㄟ^(guò)查看日志信息驗(yàn)證所設(shè)置的任務(wù)是否正常運(yùn)行。
aix自帶了cron,要驗(yàn)證cron是否正在運(yùn)行。輸入cron命令即可查看
bash-3.00# cron ! cron 已在運(yùn)行。
公元2009年08月04日星期二 14時(shí)15分04秒
cron 守護(hù)進(jìn)程運(yùn)行的命令和 crontab 文件條目是相對(duì)應(yīng)的。如果不重新定向 cron 作業(yè)的輸出為標(biāo)準(zhǔn)輸出或標(biāo)準(zhǔn)錯(cuò)誤,cron 守護(hù)進(jìn)程就會(huì)通過(guò)電子郵件告知您任何命令輸出或錯(cuò)誤。如果在 crontab 文件中指定了不正確的 cron 作業(yè),這個(gè)cron 守護(hù)進(jìn)程不運(yùn)行這個(gè)作業(yè)。
cron 守護(hù)進(jìn)程只在 cron 守護(hù)進(jìn)程被初始化時(shí)檢查 crontab 文件。當(dāng)用 crontab 命令改變 crontab 文件時(shí),指示變化的消息被發(fā)送到 cron 守護(hù)進(jìn)程。這消除了在規(guī)則的調(diào)度間隔檢查新的或改變的文件的開(kāi)銷(xiāo)。
2、crontab介紹
、、語(yǔ)法
crontab的語(yǔ)法為:crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v [UserName] | File ] 。
crontab 命令用來(lái)提交、編輯、列出或除去 cron 作業(yè)。一個(gè) cron 作業(yè)是一個(gè)命令,其運(yùn)行是由 cron 守護(hù)進(jìn)程在規(guī)則的調(diào)度間隔執(zhí)行的。
要提交一個(gè) cron 作業(yè),指定 crontab 命令用 -e 標(biāo)志。crontab 命令調(diào)用一個(gè)編輯會(huì)話,允許創(chuàng)建一個(gè) crontab 文件。在這個(gè)文件中,為每個(gè) cron 創(chuàng)建條目。每個(gè)條目必須是一種 cron 守護(hù)進(jìn)程可接受的格式。
當(dāng)創(chuàng)建完條目和退出文件后,crontab 命令將它拷貝到 /var/spool/cron/crontabs 目錄,并把它放到一個(gè)文件中,此文件的名稱是當(dāng)前的用戶名。如果以用戶名命名的文件已存在于
crontabs 目錄中,crontab 命令會(huì)覆蓋它。
同樣的,可以通過(guò)指定文件參數(shù)創(chuàng)建 crontab 文件。如果此文件已經(jīng)存在,格式必須是 cron 守護(hù)進(jìn)程所需要的。如果文件不存在,crontab 命令就調(diào)用編輯器。如果 EDITOR 環(huán)境變量存在,此命令就調(diào)用它指定的編輯器。否則,crontab 命令調(diào)用 vi 編輯器。
要列出 crontab 文件的內(nèi)容,就指定 crontab 命令并采用 -l 標(biāo)志。要除去存在的文件,采用 -r 標(biāo)志。
、啤⑴ccron的關(guān)系
crontab 的文件條目和 cron守護(hù)進(jìn)程運(yùn)行的命令是相對(duì)應(yīng)的。如果不重新定向 cron 作業(yè)的輸出為標(biāo)準(zhǔn)輸出或標(biāo)準(zhǔn)錯(cuò)誤,cron 守護(hù)進(jìn)程就會(huì)通過(guò)電子郵件告知您任何命令輸出或錯(cuò)誤。如果在 crontab 文件中指定了不正確的 cron 作業(yè),這個(gè)cron 守護(hù)進(jìn)程不運(yùn)行這個(gè)作業(yè)。
cron 守護(hù)進(jìn)程只在 cron 守護(hù)進(jìn)程被初始化時(shí)檢查 crontab 文件。當(dāng)用 crontab 命令改變 crontab 文件時(shí),指示變化的消息被發(fā)送到 cron 守護(hù)進(jìn)程。這消除了在規(guī)則的調(diào)度間隔檢查新的或改變的文件的開(kāi)銷(xiāo)。
、恰踩
crontab的安全由/var/adm/cron/cron.allow 和 /var/adm/cron/cron.deny 文件控制,決定哪一個(gè)用戶可以使用 crontab 命令。root 用戶可以創(chuàng)建、編輯或刪除這些文件。這些文件的條目是用戶登錄名稱,每個(gè)名稱占一行。如果登錄標(biāo)識(shí)和多個(gè)的'登錄名稱相關(guān)聯(lián),這個(gè)crontab 命令采用第一個(gè)在 /etc/passwd 文件中的登錄名稱,而不管當(dāng)前實(shí)際使用哪一個(gè)登錄名稱。而且,要允許用戶啟動(dòng) cron 作業(yè),應(yīng)該使用 chuser 命令將 /etc/security/user 文件中的守護(hù)進(jìn)程屬性設(shè)置為 TRUE。
、取⑽募䲢l目格式
一個(gè)crontab文件按包含每個(gè)cron作業(yè)的條目。每個(gè)條目包括6個(gè)字段,格式如下:
.---------------- minute (0 - 59) | .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | |
* * * * * command to be executed
必須為每個(gè)字段指定一個(gè)值。除了 command 字段,這些字段可以包含以下內(nèi)容:
指定范圍內(nèi)的一個(gè)數(shù)。要在 5 月運(yùn)行一個(gè)命令,在 month 字段指定 5。
兩個(gè)被破折號(hào)分開(kāi)的數(shù)目表明了包含的范圍。例如,要從星期二到星期五運(yùn)行 cron 作業(yè),把 2-5 放到 weekday 字段中。
由逗號(hào)隔開(kāi)的數(shù)字列表。要在一月第一天和最后一天的運(yùn)行命令,在day_of_month 字段中可指定 1,31。
* (星號(hào)),意味著所有的允許值。要每個(gè)小時(shí)運(yùn)行一個(gè)作業(yè),在小時(shí)字段指定一個(gè)星號(hào)。
3、cron 和crontab 相關(guān)的文件及目錄
因cron是系統(tǒng)默認(rèn)安裝的,其相關(guān)的目錄和描述如下表:
【AIX下的cron使用小結(jié)】相關(guān)文章:
PHP中cron的批處理08-05
htc手機(jī)使用技巧小結(jié)04-17
Linux下Git的使用08-04
下企業(yè)鍛煉實(shí)習(xí)小結(jié)04-02
二下語(yǔ)文期末小結(jié)01-18