在 Debian 系统上压缩 JavaScript(JS)相关日志数据,通常就是对文本日志文件进行压缩或轮转。下面按「常见场景 + 做法」给你一套实用方案。
gzip /var/log/myapp/*.log
生成:
app.log -> app.log.gz
解压:
gunzip app.log.gz
gzip -k access.log
xz app.log
zstd app.log
解压:
unzstd app.log.zst
Debian 默认带 logrotate,非常适合 JS 服务(Node.js / Nginx / PM2 等)。
编辑配置:
sudo nano /etc/logrotate.d/mynode
内容示例:
/var/log/myapp/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
说明:
compress:用 gzip 压缩delaycompress:最近一次不压缩,方便写入copytruncate:不重启服务也能用(适合 Node)手动测试:
sudo logrotate -d /etc/logrotate.d/myapp
PM2 自带日志:
~/.pm2/logs/
/home/user/.pm2/logs/*.log {
weekly
rotate 8
compress
copytruncate
}
pm2 install pm2-logrotate
Nginx 访问日志:
/var/log/nginx/access.log
Debian 自带:
/etc/logrotate.d/nginx
默认已启用压缩。
find /var/log/myapp -name "*.log" -mtime +7 -exec gzip {} \;
zcat app.log.gz
zless app.log.gz
| 场景 | 推荐方式 |
|---|---|
| 临时压缩 | gzip / zstd |
| 长期管理 | logrotate |
| Node.js | logrotate + copytruncate |
| 高性能 | zstd |
如果你能告诉我:
我可以帮你写一份可直接用的配置。