温馨提示×

nohup日志不断增长怎么办

小樊
36
2026-08-20 09:01:25
栏目: 编程语言

nohup 默认会把标准输出和标准错误都追加写到 nohup.out,所以日志会一直变大。常见解决办法如下,按推荐程度排序:


✅ 最推荐:重定向日志(可控制大小)

1️⃣ 启动时重定向到指定文件

nohup java -jar app.jar > app.log 2>&1 &

2️⃣ 按日期切分(常用)

nohup java -jar app.jar > app_$(date +%Y%m%d).log 2>&1 &

✅ 自动按大小切分(推荐生产环境)

使用 logrotate(最规范)

示例 /etc/logrotate.d/app

/path/app.log {
    daily
    rotate 7
    size 100M
    missingok
    notifempty
    copytruncate
}

✅ 优点:

  • 自动切分
  • 不中断程序
  • 可保留历史日志

✅ 不想保留日志(不推荐但可用)

直接丢弃日志

nohup java -jar app.jar > /dev/null 2>&1 &

⚠️ 出问题无法排查


✅ 使用 systemd(现代服务器推荐)

[Service]
StandardOutput=append:/var/log/app.log
StandardError=append:/var/log/app.log

配合 logrotate 管理


✅ 已运行的 nohup.out 怎么处理?

❌ 不要直接 rm nohup.out

会导致磁盘空间不释放

✅ 正确做法

: > nohup.out
# 或
truncate -s 0 nohup.out

✅ 总结建议

场景 建议
临时测试 > /dev/null
普通服务 重定向 + logrotate
生产环境 systemd + logrotate
已运行程序 truncate 清理

如果你愿意,可以把**启动命令或运行环境(Java / Python / Node)**发我,我可以给你一个最合适的配置方案。

0