日志轮替logrotate

在/etc/logrotate.d下新建一个文件tomcat,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
/home/tomcat/servers/tomcat7/logs/catalina.out {         
daily
nocompress
copytruncate
dateext
rotate 7
missingok
notifempty
create 774 tomcat tomcat
postrotate
/usr/bin/killall -HUP rsyslogd
endscript
}

字段解释如下

字段 解释
/home/tomcat/servers/tomcat7/logs/catalina.out #这个是分割日志的目标,用绝对路径 也能使用*.out
daily #每日分割
nocompress #不压缩
copytruncate #重命名原日志文件,创建新的日志文件
dateext #日期命名
rotate 7 #保存7天
missingok #忽略其他错误
notifempty #如果日志文件为空,轮循不会进行。
create 774 tomcat tomcat #新日志文件的权限
postrotate
/usr/bin/killall -HUP rsyslogd
endscript
#在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下, rsyslogd 进程将立即再次读取其配置并继续运行。

手工运行

1
logrotate -f /etc/logrotate.d/tomcat

执行完,日志立即给分割


对nginx进行日志轮替

1
2
3
4
5
6
7
8
9
/usr/local/nginx/logs/*.log {
daily
nocompress
copytruncate
dateext
rotate 30
missingok
notifempty
}
# linux
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×