使用 Logrotate(推荐)
Logrotate 是 Linux 系统自带的日志管理工具,支持自动切割、压缩和删除旧日志。
步骤:
创建 Logrotate 配置文件
在/etc/logrotate.d/
下新建配置文件(如java-app
):sudo nano /etc/logrotate.d/java-app
添加配置内容(示例):
注意:需要删除#号及后面备注
/path/to/your/nohup.out { # 替换为你的 nohup.out 实际路径daily # 按天切割missingok # 文件不存在时不报错rotate 30 # 保留30天的日志compress # 压缩旧日志delaycompress # 下次切割时再压缩notifempty # 空文件不切割copytruncate # 复制内容后清空原文件(避免重启应用)dateext # 使用日期作为后缀dateformat -%Y%m%d # 日期格式(如 nohup.out-20231001) }
测试配置是否生效:
# 模拟测试 sudo logrotate -d /etc/logrotate.d/java-app # 立即执行切割 sudo logrotate -f /etc/logrotate.d/java-app
验证结果:
日志将被切割为nohup.out-20231001.gz
等格式,并保留在原目录。