crontab 命令
用途:提交、編輯,、列出或除去 cron 作業(yè),。
語(yǔ)法:crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v [UserName] | File ]
描述:
安全性
cron 守護(hù)進(jìn)程
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 命令
以下關(guān)于 cron.allow 文件的一個(gè)示例:
root
nick dee sarah 如果以下一個(gè)條件成立,用戶將不能使用 crontab 命令:
cron.allow 文件和 cron.deny 文件不存在(只允許 root 用戶),。
cron.allow 文件存在,,但用戶的登錄名并不列在其中。 cron.deny 文件存在,,并且用戶的登錄名列在其中,。 如果 cron.allow 和 cron.deny 文件都不存在,只有被 root 用戶授權(quán)的人可以用 crontab 命令提交一個(gè)作業(yè),。 crontab 文件條目格式
minute minute 0 到 59
hour 0 到 23 day_of_month 1 到 31 month 1 到 12 weekday 0 到 6(星期天到星期六) command shell 命令 必須為每個(gè)字段指定一個(gè)值,。除了 command 字段,這些字段可以包含以下內(nèi)容:
指定范圍內(nèi)的一個(gè)數(shù),。要在 5 月運(yùn)行一個(gè)命令,,在 月 字段指定 5。
兩個(gè)被破折號(hào)分開(kāi)的數(shù)目表明了包含的范圍,。要從星期二到星期五運(yùn)行 cron 作業(yè),,把 2-5 放到 weekday 字段中。 由逗號(hào)隔開(kāi)的數(shù)字列表,。要在一月第一天和最后一天的運(yùn)行命令,,在日_of_月 字段中可指定 1,31。 * (星號(hào)),,意味著所有的允許值,。要每個(gè)小時(shí)運(yùn)行一個(gè)作業(yè),在小時(shí)字段指定一個(gè)星號(hào),。 注: 任一字符前如有一個(gè)反斜杠符號(hào)(包括 %)會(huì)引起字符被字面上的處理,。天的規(guī)范是由兩個(gè)字段(月的天和星期的天)組成的,。如果指定兩者都為元素的一個(gè)列表,這兩個(gè)字段均被包含在其中,。例如,,如下條目:
0 0 1,15 * 1 command將在每個(gè)月的第一天和第十五天運(yùn)行 command,還有每個(gè)星期一,。要僅在一個(gè)字段中指定天,,另一字段應(yīng)包含 * 。
指定命令
這個(gè) cron 守護(hù)進(jìn)程運(yùn)行命名于所選日期和時(shí)間的第六個(gè)字段中的字段,。如果包含一個(gè) % (百分號(hào))在第六字段,,cron 守護(hù)進(jìn)程像命令調(diào)用一樣處理所有的任務(wù),并使所有的后續(xù)任務(wù)在標(biāo)準(zhǔn)輸入上可用,,除非轉(zhuǎn)義百分號(hào) (\%),。空行和第一個(gè)非空字符是編號(hào)標(biāo)記(#)將被忽略,。如果命令含有反斜杠 (\) 的參數(shù),,反斜杠前應(yīng)加另一個(gè)反斜杠。 注: shell 只運(yùn)行該命令字段的第一行,。所有其它的行作為標(biāo)準(zhǔn)的輸入對(duì)于命令可用。 cron 守護(hù)進(jìn)程從 HOME 目錄中啟動(dòng)一個(gè)子 shell,。如果調(diào)度一個(gè)命令運(yùn)行,,這時(shí)您尚未登錄,并且希望在.profile 文件中的命令運(yùn)行,,這個(gè)命令必須明確的讀取您的 .profile 文件,。 cron 守護(hù)進(jìn)程為每個(gè) shell 提供了一個(gè)缺省的環(huán)境,定義了 HOME,, LOGNAME,, SHELL (=/usr/bin/sh) 和 PATH (=/usr/bin)。
標(biāo)志
-e UserName 編輯用戶的 crontab 文件的拷貝,,或者,,如果一個(gè)有效的 UserName 的 crontab 文件不存在則創(chuàng)建一個(gè)空的文件進(jìn)行編輯。當(dāng)編輯完成后,,文件被拷貝到 crontab 目錄作為用戶的crontab 文件,。
-l UserName 列出用戶的 crontab 文件。 -r UserName 從 crontab 目錄除去用戶的 crontab 文件,。 -v UserName 列出用戶 cron 作業(yè)的狀態(tài),。 安全性
審計(jì)事件:如果審計(jì)子系統(tǒng)已經(jīng)被正確的配置和啟用,crontab 守護(hù)進(jìn)程就會(huì)當(dāng)每次執(zhí)行命令時(shí)產(chǎn)生以下審計(jì)記錄(或事件): 事件 信息
CRON_JobRemove 列出哪一個(gè)用戶除去了 cron 作業(yè)和除去的時(shí)間,。 CRON_JobAdd 列出哪一個(gè)用戶添加了 cron 作業(yè)和添加的時(shí)間,。 安全性 審計(jì)事件:如果審計(jì)子系統(tǒng)已經(jīng)被正確的配置和啟用,,crontab 守護(hù)進(jìn)程就會(huì)當(dāng)每次執(zhí)行命令時(shí)產(chǎn)生以下審計(jì)記錄(或事件): 事件 信息
CRON_JobRemove 列出哪一個(gè)用戶除去了 cron 作業(yè)和除去的時(shí)間。 CRON_JobAdd 列出哪一個(gè)用戶添加了 cron 作業(yè)和添加的時(shí)間,。 退出狀態(tài)
此命令返回以下退出值: 0 成功完成,。
>0 發(fā)生錯(cuò)誤。 示例
拷貝一個(gè)名為 mycronjobs 的文件,,到 /var/admn/cron/crontabs 目錄下,,輸入以下內(nèi)容: crontab mycronjobs將時(shí)間以小時(shí)的形式把每個(gè)小時(shí)寫(xiě)到 console 中,輸入:
0 * * * * echo The hour is `date` ,。>/dev/console
要在每個(gè)星期一,、星期三和星期五的 6:30 a.m. 運(yùn)行 calendar 命令,輸入: 30 6 * * 1,3,5 /usr/bin/calendar
要在一年的每一天的 6:30 運(yùn)行 calendar 命令,,輸入: 30 6 * * * /usr/bin/calendar
要在八月的每天午夜運(yùn)行一個(gè)稱(chēng)為 maintenance 的腳本,,輸入: 0 0 * 8 * /u/harry/bin/maintenance
為命令的標(biāo)準(zhǔn)輸入定義文本,輸入: 0 16 * 12 5 /usr/sbin/wall%HAPPY HOLIDAY!%Remember to turn in your time card.
在 %(百分號(hào))之后定義 wall 命令的標(biāo)準(zhǔn)輸入的文本: HAPPY HOLIDAY!
Remember to turn in your time card. 文件/var/adm/cron/FIFO 當(dāng)新的作業(yè)的提交是由 crontab 或 at 命令完成時(shí),,一個(gè)發(fā)送消息到 cron 守護(hù)進(jìn)程的命名管道,。 /var/spool/cron/crontabs 指定 crontab 緩沖池區(qū)域。 /var/adm/cron/cron.allow 指定用戶列表,,這些用戶被允許訪問(wèn) crontab 命令,。 /var/adm/cron/cron.deny 指定用戶列表,這些用戶不被允許訪問(wèn) crontab 命令,。 ___________________________________________________________
名稱(chēng) : crontab M: 分鐘(0-59),。 參數(shù) : crontab -e : 執(zhí)行文字編輯器來(lái)設(shè)定時(shí)程表,,內(nèi)定的文字編輯器是 VI,,如果你想用別的文字編輯器,,則請(qǐng)先設(shè)定 VISUAL 環(huán)境變數(shù)來(lái)指定使用那個(gè)文字編輯器(比如說(shuō) setenv VISUAL joe) crontab -r : 刪除目前的時(shí)程表 crontab -l : 列出目前的時(shí)程表 crontab file [-u user]-用指定的文件替代目前的crontab。 時(shí)程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分鐘,,f2 表示小時(shí),,f3 表示一個(gè)月份中的第幾日,f4 表示月份,,f5 表示一個(gè)星期中的第幾天,。program 表示要執(zhí)行的程序。 當(dāng) f1 為 * 時(shí)表示每分鐘都要執(zhí)行 program,,f2 為 * 時(shí)表示每小時(shí)都要執(zhí)行程序,,其馀類(lèi)推 當(dāng) f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內(nèi)要執(zhí)行,f2 為 a-b 時(shí)表示從第 a 到第 b 小時(shí)都要執(zhí)行,,其馀類(lèi)推 當(dāng) f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執(zhí)行一次,,f2 為 */n 表示每 n 小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其馀類(lèi)推 當(dāng) f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執(zhí)行,,f2 為 a, b, c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執(zhí)行,,其馀類(lèi)推 使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來(lái)設(shè)定時(shí)程表,。 例子 : 例子2 : |
|