在 Ubuntu 上清理 Node.js 日志,通常取决于日志是写在哪里的、由谁管理。下面按常见情况给你说明。
常见路径:
/var/log/xxx/
/home/user/app/logs/
./logs/
查看:
ls -lh /var/log/你的应用名
du -sh /var/log/你的应用名
PM2 默认日志在:
~/.pm2/logs/
查看:
pm2 logs --lines 0
ls -lh ~/.pm2/logs/
日志由 journalctl 管理:
journalctl -u your-node-service
sudo rm -f /var/log/yourapp/*.log
⚠️ 注意:不要删正在写入的日志文件但不重启进程,否则磁盘空间可能不会释放。
更安全:
sudo truncate -s 0 /var/log/yourapp/app.log
pm2 flush
会清空所有 PM2 日志。
或单独:
truncate -s 0 ~/.pm2/logs/app-out.log
truncate -s 0 ~/.pm2/logs/app-error.log
查看占用:
journalctl --disk-usage
清理:
sudo journalctl --vacuum-time=7d
# 或
sudo journalctl --vacuum-size=100M
示例 /etc/logrotate.d/nodeapp:
/var/log/nodeapp/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
测试:
sudo logrotate -d /etc/logrotate.d/nodeapp
winston / pino你可以告诉我:
我可以直接给你最适合你服务器的清理命令。