商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Node.js应用在Ubuntu上如何处理日志轮转

Node.js应用在Ubuntu上如何处理日志轮转

  发布于2026-06-30 阅读(0)

扫一扫,手机访问

日志管理这事儿,说大不大,说小不小,但出问题的时候是真头疼。在Ubuntu上处理Node.js应用的日志轮转,最省心的方案还是logrotate——这个系统自带的日志管理工具,用好了能省下不少运维的精力。

Node.js应用在Ubuntu上如何处理日志轮转

第一步,确认logrotate是否已经就位。在Ubuntu上,它通常是预装的,但我们可以通过以下命令快速检查,顺手安装一下也不费事:

sudo apt-get update
sudo apt-get install logrotate

接下来,需要为Node.js应用创建一个专属的日志轮转配置文件。在/etc/logrotate.d/目录下新建一个文件,比如就叫nodejs

sudo nano /etc/logrotate.d/nodejs

假设应用的日志文件位于/var/log/nodejs/app.log,那么配置文件可以这样写:

/var/log/nodejs/*.log {
    daily
    rotating 7
    compress
    delaycompress
    missingok
    notifempty
    create 0640 root adm
}

这里的逻辑很直观:

  • daily:每天轮转一次,适合日志量适中的场景。
  • rotating 7:保留最近7个轮转后的日志文件,相当于保留一周的日志记录。
  • compress:轮转后的旧日志会被压缩,节省磁盘空间。
  • delaycompress:这个选项比较贴心——它不会立即压缩刚轮转出来的日志,而是等到下一次轮转时再压缩。这样如果你需要查看前一天的日志,还能直接打开看,不用先解压。
  • missingok:日志文件偶尔会丢失,这不会导致报错中断。
  • notifempty:如果日志文件是空的,就不执行轮转,避免生成无意义的空文件。
  • create 0640 root adm:轮转后自动创建新的空日志文件,权限设置为0640,属主root,属组adm,既安全又不影响应用写入。

保存退出后,建议先验证一下配置是否正确:

sudo logrotate -f /etc/logrotate.d/nodejs

如果输出类似“reading config file /etc/logrotate.d/nodejs”这样的信息,说明配置没问题。这时就可以放心地把轮转任务交给系统了——logrotate默认通过cron定时任务触发,通常每天凌晨会自动执行。

需要说明的是,如果你的Node.js应用本身已经使用了像PM2、winston这类自带日志管理功能的工具,那它们的轮转策略可能和系统级方案有所重叠。这种情况下,最好先看看工具文档,确认是以应用层的配置为准,还是两者可以协同工作。要我说,能用系统工具搞定的事情,就别再额外折腾第三方的轮转方案了——省心,也省资源。

本文转载于:https://www.yisu.com/ask/61615252.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

产品推荐

热门关注