15.1.1 Linux
工作排程的种类:
at, cron
从上面的说明当中,我们可以很清楚的发现两种工作排程的方式:
.
一种是例行性的,就是每隔一定的周期要来办的事项;
.
一种是突发性的,就是这次做完以后就没有的那一种
( 3C
大½价
...)
那么在
Linux
底下如何达到这两个功能呢?那就得使用
at
与
crontab
这两个好东西啰!
.
at
:
at
是个可以处理½执行一次就½束排程的指令,不过要执行
at
时,
必须要有
atd
这个
服务
(
第十七
章
)
的支援才行。在某些新版的
distributions
中,
atd
可能预设并没有启动,那么
at
这个指令就会失效呢!
不过我们的
CentOS
预设是启动的!
.
crontab
:
crontab
这个指令所设定的工作½会循环的一直½行下去!
可循环的时间为分钟、小时、每周、
每月或每年等。
crontab
除了可以使用指令执行外,亦可编辑
/etc/crontab
来支持。
至于让
crontab
可以生
效的服务则是
crond
这个服务喔!
底下我们先来谈一谈
Linux
的系统到底在做什么事情,怎么有若干多的工作排程在½行呢?然后再
回来谈一谈
at
与
crontab
这两个好东西!
15.1.2 CentOS Linux
系统上常见
的例行性工作
如果你曾经使用过
Linux
一阵子了,那么你大概会发现到
Linux
会主动的帮我们½行一些工作呢!
比方说自动的½行在线更新
(on-line update)
、自动的½行
updatedb (
第六章谈到的
locate
指令
)
更新
文件名数据库、自动的作登录档分析
(
所以
root
常常会收到标题为
logwatch
的信件
)
等等。这是由
于系统要正常运作的话,
某些在背景底下的工作必须要定时½行的缘故。基本上
Linux
系统常见的
例行性任务有:
.
½行登录档的轮替
(log rotate)
:
Linux
会主动的½系统所发生的各种信息都记录下来,这就是
登录档
(
第十八章
)
。
由于系统会一直记录登
录信息,所以登录文件½会越来越大!我们知道大型文件不但占容量还会造成读写效能的困扰,
因此适时
的½登录文件数据挪一挪,让旧的数据与新的数据分别存放,则比½可以有效的记录登录信息。这就是
log
rotate
的任务!这也是系统必要的例行任务;
.
登录文件分析
logwatch
的任务
:
如果系统发生了软件问题、硬件错误、资安问题等,绝大部分的错误信息都会被记录到登录文件中,
因此
系统管理员的重要任务之一就是分析登录档。但你不可能手动透过
vim
等软件去检视登录文件,因为数据
太复杂了!
我们的
CentOS
提供了一只程序『
logwatch
』来主动分析登录信息,所以你会发现,你的
root
老是会收到标题为
logwatch
的信件,那是正常的!你最好也能够看看该信件的内容喔!
.
½立
locate
的数据库
:
在第六章我们谈到的
locate
指令时,
我们知道该指令是透过已经存在的文件名数据库来½行系统上文件名
的查询。我们的文件名数据库是放置到
/var/lib/mlocate/
中。
问题是,这个数据库怎么会自动更新啊?嘿
嘿!这就是系统的例行性工作所产生的效果啦!系统会主动的½行
updatedb
喔!