在 Ubuntu 上“清理 Node.js 日志”通常取决于日志是写在哪里、由谁产生的。下面按常见场景给你一套实用做法。
常见位置:
/var/log/your-app/
~/your-app/logs/
./logs/
查看:
du -sh /var/log/your-app
ls -lh /var/log/your-app
PM2 默认日志在:
~/.pm2/logs/
查看:
pm2 logs --lines 0
ls -lh ~/.pm2/logs
日志由 journald 管理:
journalctl -u your-node-service
sudo rm -f /var/log/your-app/*.log
或 PM2:
pm2 flush
pm2 flush会清空所有 PM2 日志
避免程序因文件被删而写不进去:
sudo truncate -s 0 /var/log/your-app/app.log
PM2:
pm2 flush
查看占用:
journalctl --disk-usage
清理:
sudo journalctl --vacuum-time=7d
# 或
sudo journalctl --vacuum-size=100M
新建配置:
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
如果是你自己的 Node 项目:
winston / pinoinfo 或 warn)console.log| 场景 | 清理命令 |
|---|---|
| PM2 | pm2 flush |
| systemd | journalctl --vacuum-time=7d |
| 自定义日志 | truncate -s 0 file.log |
| 长期方案 | logrotate |
如果你愿意,可以告诉我:
我可以给你精确命令。