分类: LINUX
2013-05-11 16:05:19
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 停止该服务
转载自: