Hello! 欢迎来到小浪云!


Linux Node.js日志轮转策略


avatar
小浪云 2025-03-26 12

Linux Node.js日志轮转策略

本文介绍如何在Linux系统中利用logrotate工具实现Node.JS应用日志的轮转、压缩和管理。logrotate是Linux系统自带的日志管理工具,可自动化执行这些操作。

步骤一:安装logrotate

多数Linux发行版预装了logrotate。若未安装,请使用系统包管理器安装。例如,在Debian/Ubuntu系统中,使用以下命令

sudo apt-get update sudo apt-get install logrotate

步骤二:配置logrotate

logrotate配置文件通常位于/etc/logrotate.conf或/etc/logrotate.d/目录下。建议为Node.js应用创建独立配置文件,例如/etc/logrotate.d/myapp-logs,并添加以下配置:

/path/to/your/node/app/logs/*.log {     daily     rotate 7     compress     delaycompress     missingok     notifempty     create 0640 user group }

配置说明:

  • daily:每日轮转日志。
  • rotate 7:保留7个轮转后的日志文件。
  • compress:压缩轮转后的日志文件。
  • delaycompress:延迟压缩,直到下次轮转。
  • missingok:日志文件缺失时不报错。
  • notifempty:日志文件为空时不轮转。
  • create 0640 user group:创建新日志文件,权限为0640,用户和组由系统决定。 请根据实际情况修改user和group。

步骤三:测试logrotate配置

使用以下命令测试配置:

sudo logrotate -d /etc/logrotate.d/myapp-logs

-d选项用于测试模式,不会实际执行轮转。 若无错误,则表示配置正确。 移除-d选项则会实际执行轮转。

步骤四:监控日志轮转

logrotate通常在系统启动时自动运行。您可以查看/var/lib/logrotate/status文件来监控日志轮转状态。

注意事项:

确保您的Node.js应用使用合适的日志库(如winston或pino)并将日志写入logrotate配置中指定的路径。 请将/path/to/your/node/app/logs/*.log替换为您的实际日志文件路径。 正确配置用户和组权限,确保logrotate能够访问和操作日志文件。

相关阅读