温馨提示×

怎样清理ubuntu nodejs日志

小樊
50
2026-09-09 12:58:52
栏目: 编程语言

在 Ubuntu 上清理 Node.js 日志,方法取决于日志是写在哪里的、由谁管理。下面按常见情况说明:


一、先确认日志位置

1. 应用自己写的日志文件

常见路径:

/var/log/your-app/
~/your-app/logs/
./logs/

查看占用情况:

du -sh /var/log/* 2>/dev/null

二、手动清理日志(最直接)

删除日志文件

rm -f /var/log/your-app/*.log

如果是正在运行的进程:

# 不要直接 rm,先清空
> /var/log/your-app/app.log

三、使用 logrotate(推荐)

Ubuntu 自带 logrotate,适合长期管理。

创建配置

sudo nano /etc/logrotate.d/node-app

示例:

/var/log/your-app/*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    copytruncate
}

测试配置

sudo logrotate -d /etc/logrotate.d/node-app

立即执行

sudo logrotate -f /etc/logrotate.d/node-app

四、如果是 systemd 服务(最常见)

Node.js 作为服务运行时,日志通常由 journald 管理。

查看日志

journalctl -u your-node-service

清理 systemd 日志

sudo journalctl --vacuum-time=7d
# 或
sudo journalctl --vacuum-size=100M

限制日志大小(推荐)

sudo nano /etc/systemd/journald.conf

修改:

SystemMaxUse=200M

然后:

sudo systemctl restart systemd-journald

五、PM2 管理的 Node.js

查看日志

pm2 logs

清空日志

pm2 flush

六、Docker 中的 Node.js

查看日志

docker logs container_name

清理 Docker 日志

docker system prune

或限制日志大小(daemon.json):

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

七、推荐做法总结

✅ 不要手动 rm 正在写入的日志
✅ 使用 logrotate 或 journald
✅ 生产环境务必做日志轮转

如果你愿意,可以告诉我:

  • Node.js 是怎么运行的(systemd / pm2 / docker / 直接 node)
  • 日志路径或报错信息

我可以给你精准的清理方案。

0 踩