阅读量:80
在CentOS上可使用logrotate工具切割Java日志,步骤如下:
-
安装logrotate
sudo yum install logrotate -y -
创建配置文件
在/etc/logrotate.d/下新建文件(如java-logs),内容示例:/path/to/java/logs/*.log { daily # 按天切割(可改为size 100M按大小切割) rotate 7 # 保留7天日志 compress # 压缩旧日志 missingok # 忽略丢失文件 notifempty # 空文件不切割 create 0640 root root # 新日志权限 postrotate /bin/kill -USR1 $(cat /path/to/java/logs/java.pid) # 通知Java进程重载日志 endscript }daily:按天切割;size 100M:按文件大小切割(如100MB)。postrotate:切割后执行命令,需替换为实际Java进程的PID文件路径。
-
手动测试配置
sudo logrotate -f /etc/logrotate.d/java-logs # 强制立即执行 -
设置定时任务
logrotate默认通过/etc/cron.daily/logrotate每日自动执行,无需额外配置。
说明:
- 配置文件支持参数:
rotate(保留数量)、compress(压缩)、dateext(日期后缀)等。 - 若需实时切割,可将
/etc/cron.daily/logrotate复制到/etc/cron.hourly/并重启cron服务。