■logrotate动作方式:
logrotate是由cron控制,cron在规定的时间执行logrotate /etc/logrotate.conf
命令。将对象日至进行转储,删除,压缩等操作。。。
cat /etc/cron.daily/logrotate
------------------------------------
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
------------------------------------
■logrotate几个基本特殊参数
create /老的日至已经更换名称,因此建立一个新的日至替代
minsize 1M /日至容量一定要超过1M后才进行转储
size 10M /日至容量大于10M才开始处置,单位M(大)/k(小)
create 0664 root user /指定新日至的权限和所属于用户/组
※可以呼叫外部指令来进行额外的命令下达,这个需要用sharedscripts....
endscript设定才行。
形式:
sharedscripts
postrotate
----------脚本-----------
endscript
prerotate:在啟動 logrotate
之前進行的指令,例如修改登錄檔的屬性等動作;
postrotate:在做完 logrotate 之後啟動的指令,例如重新啟動
(kill -HUP) 某個服務!
■logrotate的动作确认
设定好一个logrotation之后,是否设定有误?需要先测试一下。
.不执行,只测试 -d
logrotate -d /etc/logrotate.conf /全部测试
logrotate -d /etc/logrotate.d/slapd /仅对其中的一个设定进行测试
.强制测试 -f
logrotate -f /etc/logrotate....
logrotate /etc/logrotate.... /不使用-f也可以实现
※日至是否被正常的轮替掉,结果会被写入/var/lib/logrotate.status
cat /var/lib/logrotate.status
------------------------------
"/var/log/httpd/ssl_request_log" 2011-9-6
"/var/log/httpd/suexec.log" 2010-10-17
"/var/log/slapd.log" 2011-9-6
------------------------------
如果需要想马上测试某个设定对象的轮替结果,可以对logrotate.status修改
阅读(2355) | 评论(0) | 转发(0) |