一、
日志文件包含了关于系统中发生的事件的有用的信息,在排障过程中或者系统性能分析经常被用到。对于忙碌的服务器,日志文件大小会增长极速,服务器会很快的消耗磁盘空间。
logrotate是一个十分有用的工具,它可以自动对日志进行截断(或轮询)、压缩以及删除旧日志文件。
主流的Linux发行版都默认安装了logrotate包。
二、
logrotate的配置文件在/etc/logrotate.conf,通常不需要对它进行修改。日志文件的轮询设置在独立的配置文件中,被放置在/etc/logrotate.d/目录下
[root@master ~]# ll /etc/ | grep logrotate
-rw-r--r--. 1 root root 662 Aug 29 2007 logrotate.conf
drwxr-xr-x. 2 root root 4096 Sep 28 18:19 logrotate.d
[root@master ~]# cat /etc/logrotate.conf
...
...
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
...
三、
创建10M的日志文件/var/log/log-file,并填充随机比特流
touch /var/log/log-file
head -c 10M < /dev/urandom> /var/log/log-file
vi /etc/logrotate.d/log-file
/var/log/log-file{
monthy
rotate 5
compress
delaycompress
missingok
notifyempty
create 644 root root
postrotate
/usr/bin/killall -HUP rsyslog
endscript
}
monthy:日志文件按月轮询。其他值为‘daily’,‘weekly’,‘yearly’
rotate 5:一次将存储5个归档日志。对于第六个归档,时间最久会被删除
compress:对归档进行gzip压缩
delaycompress:
missingok:在日志轮询期间,任何错误被忽略。例如“文件无法找到”
motifempty:如果日志为空,轮询不会进行
dateext:旧日志文件以创建日期命名,这个通过dateext