在 Debian 环境下管理 Node.js 应用日志时,日志轮转是一个无法回避的关键环节。若日志文件持续写入而不加限制,磁盘空间迟早会被耗尽。幸运的是,系统自带的 logrotate 工具能够高效解决这一问题,其配置方法也相当简洁。
具体操作可分为以下步骤:
第一步:确认 logrotate 已安装
大多数 Debian 系统默认已集成此工具,但若未安装,只需执行一条命令即可完成部署:
第二步:为 Node.js 应用创建专属配置文件
在 /etc/logrotate.d/ 目录下新建一个文件,文件名可自定义,例如 nodejs:
第三步:写入轮转规则
将以下配置内容粘贴进去,务必把 /path/to/your/nodejs/app/logs 替换为当前应用日志的实际存储路径:
这段配置的含义十分明了:每天执行一次日志轮转,保留最近 7 天的日志文件,历史日志自动压缩处理;若日志文件不存在则不报错,空文件跳过轮转;轮转完成后自动生成新的日志文件,权限设置为 0640,属主为 root,属组为 adm。
第四步:测试配置是否正确
保存退出后,使用以下命令强制运行一次 logrotate,检查是否出现错误信息:
如果终端没有任何错误提示,说明配置已成功生效。
第五步:让轮转自动执行logrotate 本身是一个系统定时任务,每天会自动执行一次。您无需额外干预,系统会在固定时间检查所有配置文件,并按照设定规则进行日志轮转。如需确认运行状态,可查看 /var/lib/logrotate/status 文件,其中记录了每次轮转的时间与结果。
通过以上配置,Node.js 应用的日志即可实现自动轮转管理,再也不用担心磁盘空间被日志文件撑满的问题。
