在 CentOS 下设置 Java 日志轮转,你可以使用 logrotate 工具
sudo yum install logrotate
/etc/logrotate.d/java
。你可以使用任何文本编辑器创建和编辑这个文件,这里我们使用 vi
:sudo vi /etc/logrotate.d/java
/path/to/your/java/logs/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 root adm
sharedscripts
postrotate
/path/to/your/java/bin/shutdown.sh
sleep 10
/path/to/your/java/bin/startup.sh
endscript
}
/path/to/your/java/logs/*.log
:需要轮转的 Java 日志文件的路径。请将其替换为实际的日志文件路径。daily
:每天轮转日志文件。rotate 7
:保留 7 天的日志文件。compress
:压缩旧的日志文件。delaycompress
:延迟压缩,直到下一次轮转时再进行压缩。missingok
:如果日志文件不存在,不会产生错误。notifempty
:只有日志文件非空时才会进行轮转。create 0640 root adm
:创建新的日志文件,权限为 0640,属主为 root,属组为 adm。sharedscripts
:如果有多台服务器使用相同的 logrotate 配置,共享脚本文件。postrotate
和 endscript
之间的部分是在轮转后执行的脚本。这里我们重启 Java 应用以应用新的日志文件。请根据你的实际情况修改脚本内容。保存并退出配置文件。
测试 logrotate 配置是否正确:
sudo logrotate -d /etc/logrotate.d/java
如果没有错误,那么你的 Java 日志轮转设置已经完成。接下来,logrotate 会根据配置文件自动轮转 Java 日志。