Debian下Node.js日志轮转方法
作者:技术拾光时间:2026-07-23 08:02:08浏览:196
在Debian系统中,通过logrotate工具配置Node.js应用日志轮转,可避免磁盘空间耗尽。设置每日轮转、保留7天、自动压缩,并指定日志路径,测试无误后由cron定时任务自动执行。
在 Debian 环境下管理 Node.js 应用日志,轮转是个绕不开的话题
如果日志文件一直写下去,磁盘空间迟早会被撑爆。好在系统自带的 logrotate 工具就能很好地解决这个问题,配置起来也并不复杂。

具体操作分几步走:
第一步:确认 logrotate 已安装
大部分 Debian 系统默认就带了这个工具,但万一没装,用一条命令就能搞定:
sudo apt-get update
sudo apt-get install logrotate第二步:为 Node.js 应用创建专属配置文件
在 /etc/logrotate.d/ 目录下新建一个文件,名字可以随便起,比如 nodejs:
sudo nano /etc/logrotate.d/nodejs第三步:写入轮转规则
把下面这段配置贴进去,记得把 /path/to/your/nodejs/app/logs 替换成你应用日志的实际存放路径:
/path/to/your/nodejs/app/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root adm
}这段配置的含义很直白:每天轮转一次,保留最近 7 天的日志,旧日志自动压缩;如果日志文件不存在也不报错,空文件不轮转;轮转后自动创建新日志文件,权限设为 0640,所有者是 root,用户组是 adm。
第四步:测试配置是否正确
保存退出后,用下面这条命令强制运行一次 logrotate,看看有没有报错:
sudo logrotate -f /etc/logrotate.d/nodejs如果终端静悄悄没有任何错误信息,说明配置已经生效了。
第五步:让轮转自动跑起来
logrotate 本身是一个定时任务,系统每天会自动执行一次。你不需要额外操心,它会在每天固定的时间检查所有配置文件,按要求轮转日志。如果想确认运行状态,可以查看 /var/lib/logrotate/status 这个文件,里面记录了每次轮转的时间和结果。
这样一来,Node.js 应用的日志就实现了自动轮转,磁盘空间再也不用担心被日志撑爆了。
