温馨提示×

怎样压缩debian js日志数据

小樊
46
2026-09-28 09:23:52
栏目: 编程语言

在 Debian 系统上压缩 JavaScript(JS)相关日志数据,通常就是对文本日志文件进行压缩或轮转。下面按「常见场景 + 做法」给你一套实用方案。


一、直接用压缩命令(最简单)

1. gzip(最常用)

gzip /var/log/myapp/*.log

生成:

app.log -> app.log.gz

解压:

gunzip app.log.gz

2. 只压缩不删除原文件

gzip -k access.log

3. xz(压缩率更高,慢)

xz app.log

4. zstd(推荐,快且压缩好)

zstd app.log

解压:

unzstd app.log.zst

二、用 logrotate(生产环境推荐)

Debian 默认带 logrotate,非常适合 JS 服务(Node.js / Nginx / PM2 等)。

示例:压缩 Node.js 日志

编辑配置:

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 用户(Node.js 常见)

PM2 自带日志:

~/.pm2/logs/

方法 1:logrotate 管理 PM2 日志

/home/user/.pm2/logs/*.log {
    weekly
    rotate 8
    compress
    copytruncate
}

方法 2:PM2 模块(可选)

pm2 install pm2-logrotate

四、Nginx + JS 前端日志

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

如果你能告诉我:

  • 日志路径
  • JS 是 Node / 前端 / Nginx
  • 是否要自动清理

我可以帮你写一份可直接用的配置。

0 踩