背景:
因一些应用程序产生的日志过大导致磁盘不足,比如lsyncd服务的日志文件,rsyncd服务的日志文件,tomcat的日志输出文件,nginx的日志文件等等;
解决方案:
能不能针对这些日志按每或每周进行分割,并只保留一周的数据呢?-------------目前公司这边用的是logrotate来实现日志的轮替。
logrotate相关配置:
logrotate的配置文件
/etc/logrotate.conf
/etc/logrotate.d/
logrotate.conf 是主要的参数文件,logrotate.d 是一个目录,该目录里面的所有数据都会被主动读入/etc/logrotate.conf 当中来进行。另外,在/etc/logrotate.d/ 里面的文件中,如果没有指定一些详细的设置,则以 /etc/logrotate.conf 的规定来指定为默认值。
具体实现(以lsyncd服务产生的/var/log/lsyncd.log为例):
1.进入服务器中;
2.在/etc/logrotate.d/下创建lsyncd文件保存,内容如下:
/var/log/lsyncd.log {
missingok
compress
rotate 90
notifempty
sharedscripts
postrotate
if [ -f /var/lock/lsyncd ]; then
/sbin/service lsyncd restart > /dev/null 2>/dev/null || true
fi
endscript
}
/var/log/lsyncd.log {
missingok
compress
rotate 90
notifempty
sharedscripts
postrotate
if [ -f /var/lock/lsyncd ]; then
/sbin/service lsyncd restart > /dev/null 2>/dev/null || true
fi
endscript
}