温馨提示×

debian js日志怎么压缩

小樊
38
2026-09-22 10:21:32
栏目: 编程语言

在 Debian 上压缩 JS(JavaScript)日志,常见做法有几种,取决于你的日志来源、是否实时写入、是否要轮转。下面按常见场景给你讲清楚。


一、用 gzip 手动压缩(最简单)

适合:已经生成好的 .log 文件

gzip app.js.log

会生成:

app.js.log.gz

解压:

gunzip app.js.log.gz

✅ 优点:简单
❌ 缺点:不能自动处理正在写入的日志


二、用 logrotate(推荐 ✅)

Debian 自带 logrotate,最适合 JS 服务(Node / PM2 / Nginx 等)

1️⃣ 创建配置

sudo nano /etc/logrotate.d/myjsapp

示例(Node.js 日志):

/var/log/myapp/*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    copytruncate
}

说明:

  • compress → 用 gzip 压缩
  • copytruncate → 不重启进程也能截断日志(JS 常用)
  • rotate 7 → 保留 7 天

2️⃣ 测试

sudo logrotate -d /etc/logrotate.d/myjsapp

强制执行:

sudo logrotate -f /etc/logrotate.d/myjsapp

三、Node.js / PM2 日志压缩

PM2 自带日志管理

pm2 install pm2-logrotate

配置示例:

pm2 set pm2-logrotate:compress true
pm2 set pm2-logrotate:retain 7

✅ PM2 会自动压缩旧日志为 .log.gz


四、实时压缩(不常用)

如果你必须边写边压,可用:

node app.js | gzip > app.log.gz

❌ 不便排查问题,一般不建议


五、常见 JS 日志路径

  • Node 手动写:/var/log/myapp/
  • PM2:~/.pm2/logs/
  • Nginx:/var/log/nginx/

推荐方案总结

场景 推荐方式
普通 JS 服务 logrotate ✅
PM2 pm2-logrotate ✅
临时压缩 gzip
正在写入日志 copytruncate

如果你是 Node / PM2 / Nginx / Docker 哪一种,我可以给你精准配置示例。

0 踩