nohup.out 日志太大的问题很常见,可以从预防和补救两个角度来解决。下面按实用程度给你几种方案。
nohup java -jar app.jar > app-$(date +%Y%m%d).log 2>&1 &
或每天一个日志:
nohup ./start.sh > run.log 2>&1 &
nohup ./app > /dev/null 2> error.log &
nohup ./app > /dev/null 2>&1 &
⚠️ 适合不需要排查问题的程序
: > nohup.out
# 或
truncate -s 0 nohup.out
✅ 程序不会中断,文件大小立即变小
rm nohup.out
# 然后重启程序
⚠️ 删掉后如果程序还在运行,可能仍然占用磁盘空间(lsof 可看到)
logrotate(最专业)示例 /etc/logrotate.d/myapp:
/path/to/nohup.out {
daily
rotate 7
size 100M
missingok
notifempty
copytruncate
}
✅ copytruncate 可避免重启程序
nohup java -jar app.jar > /dev/null 2>&1 &
或使用日志框架(logback / log4j2)+ 滚动日志
nohup python main.py > app.log 2>&1 &
| 场景 | 推荐方案 |
|---|---|
| 临时清理 | : > nohup.out |
| 新启动程序 | 重定向日志 |
| 生产环境 | logrotate |
| 不需要日志 | /dev/null |
如果你愿意,可以告诉我:
我可以帮你给出最合适的配置方案。