1
2
3
4
5
6
7
8
9
10
|
cat
>
/etc/logrotate
.d
/tomcat
<<EOF
/usr/local/apache-tomcat-8
.0.28
/logs/catalina
.out{
copytruncate
daily
rotate 7
missingok
compress
size 16M
}
EOF
|
1
2
3
4
5
6
7
8
|
/usr/local/apache-tomcat-8
.0.28
/logs/catalina
.out{
# 要轮转的文件
copytruncate
# 创建新的catalina.out副本后,截断源catalina.out文件
daily
# 每天进行catalina.out文件的轮转
rotate 7
# 至多保留7个副本
missingok
# 如果要轮转的文件丢失了,继续轮转而不报错
compress
# 使用压缩的方式(非常有用,节省硬盘空间;一个2~3GB的日志文件可以压缩成60MB左右)
size 16M
# 当catalina.out文件大于16MB时,就轮转
}
|
-
每天晚上crond守护进程会运行在/etc/cron.daily目录中的任务列表;
-
与logrotate相关的脚本也在/etc/cron.daily目录中。运行的方式为"/usr/bin/logrotate /etc/logrotate.conf";
-
/etc/logrotate.conf文件include了/etc/logrotate.d/目录下的所有文件。还包括我们上面刚创建的tomcat文件;
-
/etc/logrotate.d/tomcat文件会触发/usr/local/apache-tomcat-8.0.28/logs/catalina.out文件的轮转。
1
|
logrotate
/etc/logrotate
.conf
|
1
|
logrotate --force
/etc/logrotate
.d
/tomcat
|
1
|
man
logrotate
|
1
2
3
4
|
du
-sh *
...
2.0G catalina.out
# 未轮转之前的文件大小
...
|
1
2
3
|
# du -sh catalina.out*
2.0M catalina.out
60M catalina.out.1.gz
# 轮转之后,进行压缩,日志文件变得更小了
|
1
2
|
cd
/usr/local/apache-tomcat-8
.0.28
/logs
find
-mtime +7 -
exec
rm
-f {} \;
|