在 Debian 上压缩 JS(通常是 Node.js 或前端构建产生的)日志文件,常见做法有几种,按是否实时 / 是否自动来区分:
gzipgzip app.log
生成:app.log.gz
解压:
gunzip app.log.gz
xz(压缩率更高)xz app.log
生成:app.log.xz
zipzip app.log.zip app.log
Debian 自带 logrotate,非常适合 JS 日志(如 PM2、Node、Nginx)。
编辑或新建:
sudo nano /etc/logrotate.d/nodejs
内容示例:
/var/log/nodejs/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
copytruncate
}
说明:
compress:自动用 gzip 压缩daily:每天轮转copytruncate:不重启 Node 也能截断日志(PM2 常用)测试:
sudo logrotate -d /etc/logrotate.d/nodejs
PM2 自带日志管理:
pm2 install pm2-logrotate
配置示例:
pm2 set pm2-logrotate:compress true
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7
如果日志极大,可用:
tail -f app.log | gzip > app.log.gz
⚠️ 一般不推荐,容易丢数据
~/.pm2/logs//var/log/nginx//var/log/nodejs/如果你能告诉我:
我可以给你更精确的配置。