温馨提示×

怎样压缩debian js日志文件

小樊
48
2026-09-10 04:17:08
栏目: 编程语言

在 Debian 上压缩 JS(通常是 Node.js 或前端构建产生的)日志文件,常见做法有几种,按是否实时 / 是否自动来区分:


一、手动压缩(最简单)

1. 使用 gzip

gzip app.log

生成:app.log.gz

解压:

gunzip app.log.gz

2. 使用 xz(压缩率更高)

xz app.log

生成:app.log.xz

3. 使用 zip

zip app.log.zip app.log

二、日志轮转(推荐,自动压缩)

Debian 自带 logrotate,非常适合 JS 日志(如 PM2、Node、Nginx)。

示例:压缩 Node.js 日志

编辑或新建:

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

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

⚠️ 一般不推荐,容易丢数据


五、常见 JS 日志位置

  • PM2:~/.pm2/logs/
  • Nginx:/var/log/nginx/
  • 自定义:/var/log/nodejs/

如果你能告诉我:

  • 日志是怎么产生的(PM2 / Docker / 原生 Node)
  • 日志路径
  • 是否要自动清理

我可以给你更精确的配置

0