anacron 是和 cron 相似的任务调度器,只不过它并不要求系统持续运行,它可以用来运行通常由 cron 运行的每日、每周、和每月的作业;

要使用 anacron 服务,你必须安装了 anacron 软件包, anacron 服务必须在运行;

要判定该服务是否在运行,使用 /sbin/service anacron status 命令


1 、配置 anacron

Anacron 与 cron 一样用来调度重复的任务,周期性安排作业;

任务被列在配置文件 /etc/anacrontab 中。文件中的每一行都代表一项任务,格式是:

格式: period delay job-identifier command

period — 命令执行的频率(天数)

delay — 延迟时间(分钟)

job-identifier — 任务的描述,用在 anacron 的消息中,并作为作业时间戳文件的名称,只能包括非空白的字符(除斜线外)。

command — 要执行的命令

对于每项任务, anacron 先判定该任务是否已在配置文件的 period 字段中指定的期间内被执行了。如果它在给定期间内还没有被执行, anacron 会等待 delay 字段中指定的分钟数,然后执行 command 字段中指定的命令;

任务完成后, anacron 在 /var/spool/anacron 目录内的时间戳文件中记录日期;这里只记录日期,无具体时间,而且 job-identifier 的数值被用做时间控制文件的名称。

Anacron 与 cron 配置文件相似, SHELL 和 PATH 之类的环境变量可以在 /etc/anacrontab 文件的前部定义;

现在从配置文件入手来分析anacron:

# /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

1 65 cron.daily run-parts /etc/cron.daily

7 70 cron.weekly run-parts /etc/cron.weekly

30 75 cron.monthly run-parts /etc/cron.monthly

1 ,2行注释告诉用户文件是做什么用的,从man 5 anacrontab获取配置文件帮助。

3,4行是定义用户基本环境变量,保证程序可以正常运行。

5,6,7行是默认配置下所执行的任务,也是最重要的任务配置部分。

格式为:period delay job-identifier command

格式分为四部分:执行频率(天数), 延迟时间(分钟),任务描述,需要执行的命令。

第一部分是指执行的周期天数,即任务多少天执行一次, monthly 就是一个月( 30 天)内执行, weekly 即是一周 内执行一次。

第二部分是指命令执行的重试时间,分为两种:

第三部分 job-identifier:anacron 每次启动时都会在 /var/spool/anacron 中建立一个以 job-identifier 为文件名的文件,记录指定的任务完成时间,如果任务是第一次运行,则该文件是空的,这里只要注意不要用不能作为文件名的字符串即可,另外文件名不要太长。

/sbin/service anacron start 启动该服务

/sbin/service anacron stop 停止该服务


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html