/var/log/spooler
{
sharedscripts
prerotate
/usr/bin/chattr
-
a /var/log/messages
endscript
sharedscripts
postrotate
/bin/kill
-
HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/usr/bin/chattr +a /va
r/log/messages
endscript
}
看到否?就是先给他去掉
a
这个属性,让登录文件
/var/log/messages
可以½行轮替的动作,
然后
执行了轮替之后,再给他加入这个属性!请特别留意的是,那个
/bin/kill -HUP ...
的意义,这一行的
目的在于½系统的
rsyslogd
重新以其参数档
(rsyslog.conf)
的资料读入一次!也可以想成是
reload
的意思啦!
由于我们½立了一个新的空的记录文件,如果不执行此一行来重新启动服务的话,
那么
记录的时候½会发生错误呦!
(
请回到
第十六章
读一下
kill
后面的
signal
的内容说明
)
18.3.2
实际测试
logrotate
的动作
好了,设定完成之后,我们来测试看看这样的设定是否可行呢?给他执行底下的指令:
[root@study ~]#
logrotate [
-
vf] logfile
选项
参数
-
v
启动显
示模式,
会显
logrotate
作的
程喔!
-
f
:不
是否符合配置文件的
据,
制每
录档
½
rotate
作!
范例一:
行一次
logrotate
看看整
流程
何?
[root@study ~]#
logrotate
-
v /etc/logrotate.conf
reading config file /etc/logrotate.conf
<==
取主要配置文件
including /etc/logrotate.d
<==
呼½外部的
reading config file chrony
<==
就是外部
定啊!
....(
省略
)....
Handling 18 logs
<==
共有
18
文件被
记录
....(
省略
)....
rotating pattern: /var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
weekly (52 rotations)
empty log files are not rotated, old logs are removed