发布于2026-07-03 阅读(0)
扫一扫,手机访问
说起Node.js服务在Debian系统上的运维,日志管理绝对是绕不开的一环。日志越积越多,磁盘空间吃紧,排查问题的时候又得靠它,所以掌握一套靠谱的清理策略,算得上是基本功了。下面直接进入正题,聊聊几种常见且有效的做法。

先做个全景式的梳理,心里有个底。
所谓手动清理,直白地说就是自己动手,找到日志文件,该删删,该备份备份。
/opt/nodeapp/),文件名一般叫app.log、access.log、error.log这类。sudo cp /path/to/app.log /path/to/backup/app.log.baksudo rm /path/to/app.log如果不想隔三差五手动折腾,logrotate这个Debian自带的轮转工具,就非常香了。它由系统定时任务驱动,一旦配好,基本能自动运转。
sudo apt-get update && sudo apt-get install logrotate/etc/logrotate.d/下新建一个文件,比如叫nodejs,写入配置。/var/log/nodejs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root adm
}sudo logrotate -d /etc/logrotate.d/nodejssudo logrotate -f /etc/logrotate.d/nodejs不少开发者在应用内部,就喜欢直接用winston、pino这些日志库自带的轮转功能。好处是跟代码逻辑完全绑定,控制起来更灵活。
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({
filename: '/var/log/nodejs/app.log',
maxsize: 10 * 1024 * 1024, // 10MB
maxFiles: 10
})
]
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({ format: winston.format.simple() }));
}const winston = require('winston');
const DailyRotateFile = require('winston-daily-rotate-file');
const logger = winston.createLogger({
level: 'info',
transports: [
new DailyRotateFile({
filename: '/var/log/nodejs/app-%DATE%.log',
datePattern: 'YYYY-MM-DD',
zippedArchive: true,
maxSize: '20m',
maxFiles: '14d'
})
]
});maxFiles控制保留数量即可。无论logrotate还是日志库轮转,都有可能出现配置遗漏或意外失效的情况。作为最后一道防线,我们可以用cron定时任务或者自己写个Node脚本,定期扫一遍目录把过期的日志给清掉。
.log文件:0 1 * * * find /path/to/nodejs/logs -type f -name "*.log" -mtime +7 -exec rm {} \;const fs = require('fs').promises;
const path = require('path');
const logsDir = '/path/to/nodejs/logs';
const cutoff = Date.now() - 7 * 24 * 60 * 60 * 1000;
(async () => {
const files = await fs.readdir(logsDir);
for (const f of files) {
const fp = path.join(logsDir, f);
const st = await fs.stat(fp);
if (st.isFile() && st.mtimeMs < cutoff) await fs.unlink(fp);
}
})().catch(console.error);
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8