fi
if [ `date +%Y%m%d`
= "$day" ]; then
exit 0;
fi
#
上面的
语
法在
检验
前一次
执
行
anacron
时
的
时间
戳!
# Do not run jobs when on battery power
if test
-
x /usr/bin/on_ac_power; then
/usr/bin/on_ac_power >/dev/null 2>&1
if test $.
-
eq 1; then
exit 0
fi
fi
/usr/sbin/anacron
-
s
#
所以其
实
也
½
是
执
行
anacron
-
s
的指令!因此我
们
得
来谈谈这
支程序!
基本上,
anacron
的语法如下:
[root@study ~]#
anacron [
-
sfn] [job]..
[root@study ~]#
anacron
-
u [job]..
选项
与
参数
:
-
s
:
开
始一
连续
的
执
行各
项
工作
(job)
,
会
依据
时间记录
文件的
数
据判
断
是否
½
行;
-
f
:
强
制
½
行,而不去判
断时间记录
文件的
时间
戳;
-
n
:立刻
½
行未
½
行的任
务
,而不延
迟
(delay)
等待
时间
;
-
u
:
½
更新
时间记录
文件的
时间
戳,不
½
行任何工作。
job
:由
/etc/anacrontab
定
义
的各
项
工作名
称
。
在我们的
CentOS
中,
anacron
的½行其实是在每个小时都会被抓出来执行一次,
但是为了担心
anacron
误判时间参数,因此
/etc/cron.hourly/
里面的
anacron
才会在档名之前加个
0 (0anacron)
,让
anacron
最先½行!就是为了让时间戳先更新!以避免
anacron
误判
crontab
尚未½行任何工作的意
思。
½下来我们看一下
anacron
的配置文件:
/etc/anacrontab
的内容好了:
[root@study ~]#
cat /etc/anacrontab
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
RANDOM_DELAY=45
#
随
机
给
予最大延
迟时间
,
单
位是分
钟
START_HOURS_RANGE=3
-
22
#
延
迟
多少
个
小
时内应该
要
执
行的任
务时间
1 5
cron.daily nice run
-
parts /etc/cron.daily
7 25 cron.weekly nice run
-
parts /etc/cron.weekly