发布于2026-07-21 阅读(0)
扫一扫,手机访问
在Debian环境下处理Node.js日志,不少开发者会遇到磁盘空间吃紧的问题。其实,利用Node.js自带的zlib模块就能干净利落地完成日志压缩,完全不需要额外安装第三方工具。下面直接进入正题——一个简单实用的压缩方案。

首先确认你的系统已经安装了Node.js。如果还没装,去Node.js官网下载安装包,或者用包管理器一把搞定——这个前提大家应该都懂。
接下来,在你的项目根目录下创建一个名为 compressLogs.js 的文件,把下面这段代码贴进去:
const fs = require('fs');
const zlib = require('zlib');
// 读取日志文件
fs.readFile('app.log', (err, data) => {
if (err) {
console.error('Error reading log file:', err);
return;
}
// 压缩日志文件
zlib.gzip(data, (err, compressedData) => {
if (err) {
console.error('Error compressing log file:', err);
return;
}
// 将压缩后的日志文件写入磁盘
fs.writeFile('app.log.gz', compressedData, (err) => {
if (err) {
console.error('Error writing compressed log file:', err);
} else {
console.log('Log file compressed successfully!');
}
});
});
});
这段代码的逻辑非常直白:读取 app.log,调用 zlib.gzip 进行压缩,然后把结果写入 app.log.gz。整个过程异步处理,不会阻塞主线程。
保存文件后,在终端里切换到项目目录,执行:
node compressLogs.js
几秒钟后,你就会看到同级目录下多了一个 app.log.gz 文件,原始日志已经被压缩成了gzip格式。检查一下,压缩率通常很可观,尤其是文本类的日志。
当然,如果每次都手动跑脚本,那就太反人类了。更合理的做法是设置一个定时任务,比如用Linux自带的 cron 来定期执行这个脚本。每天凌晨跑一次,日志永远保持清爽。至于具体怎么配置cron,网上教程很多,这里就不展开了——核心思路就是:把脚本路径写进crontab,然后让它按你的节奏转动。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8