最后,我们来总½一下本章谈到的许多配置文件与目录的关系吧!这样我们才能了½
crond
与
anacron
的关系:
1.
crond
会主动去读取
/etc/crontab, /var/spool/cron/*, /etc/cron.d/*
等配置文件,并依据『分、时、日、月、周』
的时间设定去各项工作排程;
2.
根据
/etc/cron.d/0hourly
的设定,主动去
/etc/cron.hourly/
目录下,执行所有在该目录下的执行文件;
3.
因为
/etc/cron.hourly/0anacron
这个½本文件的缘故,主动的每小时执行
anacron
,并呼½
/etc/anacrontab
的配置文件;
4.
根据
/etc/anacrontab
的设定,依据每天、每周、每月去分析
/etc/cron.daily/, /etc/cron.weekly/, /etc/cron.monthly/
内的执行文件,以½行固定周期需要执行的指令。
也就是说,如果你每个周日的需要执行的动作是放置于
/etc/crontab
的话,那么该动作只要过期了就
过期了,并不会被抓回来重新执行。但如果是放置在
/etc/cron.weekly/
目录下,那么该工作就会定期,
几乎一定会在一周内执行一次~如果你关机超过一周,那么一开机后的数个小时内,该工作就会主动
的被执行喔!
真的吗?对啦!因为
/etc/anacrontab
的定义啦!
Tips
基本上,
crontab
与
at
都是『定时』去执行,过了时间就过了!不会重新来一遍~那
anacron
则是『定期』去执行,某一段周期的执行~
因此,两者可以并行,并不会互相冲突啦!
15.5
重点回顾
.
系统可以透过
at
这个指令来排程单一工作的任务!『
at TIME
』为指令下达的方法,当
at
½入排程后,
系
统执行该排程工作时,会到下达时的目录½行任务;
.
at
的执行必须要有
atd
服务的支持,且
/etc/at.deny
为控制是否能够执行的使用者账号;
.
透过
atq, atrm
可以查询与删除
at
的工作排程;
.
batch
与
at
相同,不过
batch
可在
CPU
工作负载小于
0.8
时才½行后续的工作排程;
.
系统的循环例行性工作排程使用
crond
这个服务,同时利用
crontab -e
及
/etc/crontab
½行排程的安排;
.
crontab -e
设定项目分为六栏,『分、时、日、月、周、指令』为其设定依据;
.
/etc/crontab
设定分为七栏,『分、时、日、月、周、执行者、指令』为其设定依据;
.
anacron
配合
/etc/anacrontab
的设定,可以唤醒停机期间系统未½行的
crontab
任务!
15.6
本章习题
(
要看答案请½鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看
)
简答题:
.
½天假设我有一个指令程序,名称为:
ping.sh
这个档名!我想要让系统每三分钟执行这个文件一次,
但
是偏偏这个文件会有很多的讯息显示出来,所以我的
root
账号每天都会收到差不多四百多封的信件,光是
收信就差不多快要疯掉了!
那么请问应该怎么设定比½好呢?
这个涉及数据流重导向的问题,我们可以½他导入文件或者直½丢弃!如果该讯息不重要的话,
那么就予以丢弃,如果讯息
很重要的话,才½他保留下来!假设½天这个命令不重要,
所以½他丢弃掉!因此,可以这样写: