28.2. Anacron

Anacron 是一種類似 cron 的工作排程器,不過它並不需要系統持續性的開機。 可以使用它來執行通常由 cron 執行的每天、每星期以及每月的工作。

如要使用 Anacron 服務,您必須安裝 anacron RPM 套件,而且 anacron 的服務必須在執行中。 如要知道這個套件是否已安裝,請使用 rpm -q anacron 指令; 如要知道這個服務是否在執行中,請使用 /sbin/service anacron status 指令。

28.2.1. 設定 Anacron 的工作

Anacron 的工作列出在 /etc/anacrontab 設定檔中,這個檔案中的每一行都對應到一項工作,並且為以下這種格式:

period   delay   job-identifier  command

對於每一個工作,Anacron 將會視該工作在設定檔所指定的 period 的時間中是否已經執行過,假如它沒有在所給予的時間中執行的話,Anacron 會在等待 delay 欄位所指定的分鐘後執行 command 欄位所指定的指令。

在該工作執行完畢後,Anacron 將會紀錄日期到 /var/spool/anacron 目錄下的一個時間戳記檔案。 在此只會用到日期(而不是時間),而 job-identifier 的值會被使用來當作該檔案的檔名。

如 cron 的設定檔案,像是 SHELLPATH 的環境變數可以定義在 /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 工作都能執行。

28.2.2. 啟動與停止服務

如要啟動 anacron 的服務,請使用 /sbin/service anacron start 指令; 如要停止服務,可以使用 /sbin/service anacron stop 指令。 在此建議您在開機時即刻啟動該項服務,請參考 第14章 以取得關於在開機時自動啟動 anacron 服務的細節。