Anacron 是一種類似 cron 的工作排程器,不過它並不需要系統持續性的開機。 可以使用它來執行通常由 cron 執行的每天、每星期以及每月的工作。
如要使用 Anacron 服務,您必須安裝 anacron RPM 套件,而且 anacron 的服務必須在執行中。 如要知道這個套件是否已安裝,請使用 rpm -q anacron 指令; 如要知道這個服務是否在執行中,請使用 /sbin/service anacron status 指令。
Anacron 的工作列出在 /etc/anacrontab 設定檔中,這個檔案中的每一行都對應到一項工作,並且為以下這種格式:
period delay job-identifier command |
period — 要執行指令的頻率(以天表示)
delay — 延遲的時間(以分鐘表示)
job-identifier — 執行工作的描述,使用於 Anacron 的訊息以及當作該項工作之時間戳記檔案的名稱,其內可包含任何非空白的字元(除了斜線符號外)
command — 要執行的指令
對於每一個工作,Anacron 將會視該工作在設定檔所指定的 period 的時間中是否已經執行過,假如它沒有在所給予的時間中執行的話,Anacron 會在等待 delay 欄位所指定的分鐘後執行 command 欄位所指定的指令。
在該工作執行完畢後,Anacron 將會紀錄日期到 /var/spool/anacron 目錄下的一個時間戳記檔案。 在此只會用到日期(而不是時間),而 job-identifier 的值會被使用來當作該檔案的檔名。
如 cron 的設定檔案,像是 SHELL 與 PATH 的環境變數可以定義在 /etc/anacrontab 檔案的頂端。
如下為預設的設定檔案:
# /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # These entries are useful for a Red Hat Linux system. 1 5 cron.daily run-parts /etc/cron.daily 7 10 cron.weekly run-parts /etc/cron.weekly 30 15 cron.monthly run-parts /etc/cron.monthly |
圖形 28-1. 預設的 anacrontab
如 圖形 28-1 所示,Red Hat Linux 的 anacron 是設定來以確定每日、每週以及每月的 cron 工作都能執行。
如要啟動 anacron 的服務,請使用 /sbin/service anacron start 指令; 如要停止服務,可以使用 /sbin/service anacron stop 指令。 在此建議您在開機時即刻啟動該項服務,請參考 第14章 以取得關於在開機時自動啟動 anacron 服務的細節。