AIX下的cron使用小結

1、cron介紹

AIX下的cron使用小結

cron 在AIX系統裏是一個守護進程(Daemon),用來自動運行UNIX命令。有了cron後,用戶可以安排類似於windows下的“任務計劃”,定期自動運行某些任務(命令或者腳本)。cron的運行是通過crontab來驅動的。

cron 進程運行時,會讀取/etc/ 配置文件來指定運行日誌的存儲信息。如果用戶未配置,則cron進程將運行的日誌信息存儲在/var/adm/cron/log 文件裏。可以通過查看日誌信息驗證所設置的任務是否正常運行。

aix自帶了cron,要驗證cron是否正在運行。輸入cron命令即可查看

bash-3.00# cron ! cron 已在運行。

公元2009年08月04日星期二 14時15分04秒

cron 守護進程運行的命令和 crontab 文件條目是相對應的。如果不重新定向 cron 作業的輸出爲標準輸出或標準錯誤,cron 守護進程就會通過電子郵件告知您任何命令輸出或錯誤。如果在 crontab 文件中指定了不正確的 cron 作業,這個cron 守護進程不運行這個作業。

cron 守護進程只在 cron 守護進程被初始化時檢查 crontab 文件。當用 crontab 命令改變 crontab 文件時,指示變化的消息被髮送到 cron 守護進程。這消除了在規則的調度間隔檢查新的或改變的文件的`開銷。

2、crontab介紹

⑴、語法

crontab的語法爲:crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v [UserName] | File ] 。

crontab 命令用來提交、編輯、列出或除去 cron 作業。一個 cron 作業是一個命令,其運行是由 cron 守護進程在規則的調度間隔執行的。

要提交一個 cron 作業,指定 crontab 命令用 -e 標誌。crontab 命令調用一個編輯會話,允許創建一個 crontab 文件。在這個文件中,爲每個 cron 創建條目。每個條目必須是一種 cron 守護進程可接受的格式。

當創建完條目和退出文件後,crontab 命令將它拷貝到 /var/spool/cron/crontabs 目錄,並把它放到一個文件中,此文件的名稱是當前的用戶名。如果以用戶名命名的文件已存在於

crontabs 目錄中,crontab 命令會覆蓋它。

同樣的,可以通過指定文件參數創建 crontab 文件。如果此文件已經存在,格式必須是 cron 守護進程所需要的。如果文件不存在,crontab 命令就調用編輯器。如果 EDITOR 環境變量存在,此命令就調用它指定的編輯器。否則,crontab 命令調用 vi 編輯器。

要列出 crontab 文件的內容,就指定 crontab 命令並採用 -l 標誌。要除去存在的文件,採用 -r 標誌。

⑵、與cron的關係

crontab 的文件條目和 cron守護進程運行的命令是相對應的。如果不重新定向 cron 作業的輸出爲標準輸出或標準錯誤,cron 守護進程就會通過電子郵件告知您任何命令輸出或錯誤。如果在 crontab 文件中指定了不正確的 cron 作業,這個cron 守護進程不運行這個作業。

cron 守護進程只在 cron 守護進程被初始化時檢查 crontab 文件。當用 crontab 命令改變 crontab 文件時,指示變化的消息被髮送到 cron 守護進程。這消除了在規則的調度間隔檢查新的或改變的文件的開銷。

⑶、安全性

crontab的安全由/var/adm/cron/w 和 /var/adm/cron/ 文件控制,決定哪一個用戶可以使用 crontab 命令。root 用戶可以創建、編輯或刪除這些文件。這些文件的條目是用戶登錄名稱,每個名稱佔一行。如果登錄標識和多個的登錄名稱相關聯,這個crontab 命令採用第一個在 /etc/passwd 文件中的登錄名稱,而不管當前實際使用哪一個登錄名稱。而且,要允許用戶啓動 cron 作業,應該使用 chuser 命令將 /etc/security/user 文件中的守護進程屬性設置爲 TRUE。

⑷、文件條目格式

一個crontab文件按包含每個cron作業的條目。每個條目包括6個字段,格式如下:

.---------------- 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

必須爲每個字段指定一個值。除了 command 字段,這些字段可以包含以下內容:

指定範圍內的一個數。要在 5 月運行一個命令,在 month 字段指定 5。

兩個被破折號分開的數目表明了包含的範圍。例如,要從星期二到星期五運行 cron 作業,把 2-5 放到 weekday 字段中。

由逗號隔開的數字列表。要在一月第一天和最後一天的運行命令,在day_of_month 字段中可指定 1,31。

* (星號),意味着所有的允許值。要每個小時運行一個作業,在小時字段指定一個星號。

3、cron 和crontab 相關的文件及目錄

因cron是系統默認安裝的,其相關的目錄和描述如下表: