在 Debian 系统中,Node.js 应用程序的日志轮转通常是通过 logrotate 工具来实现的。logrotate 是一个用于管理日志文件的实用程序,它可以自动压缩、删除和创建新的日志文件。以下是如何在 Debian 系统上配置和使用 logrotate 来实现 Node.js 应用程序日志轮转的步骤:
-
安装 logrotate(如果尚未安装):
sudo apt-get update sudo apt-get install logrotate
-
创建一个新的 logrotate 配置文件,用于管理您的 Node.js 应用程序的日志。通常,这个文件应该放在
/etc/logrotate.d/
目录下。例如,您可以创建一个名为nodejs-app
的文件:sudo nano /etc/logrotate.d/nodejs-app
-
在新创建的配置文件中,添加以下内容(根据您的需求进行修改):
/path/to/your/nodejs-app/logs/*.log { daily rotate 7 compress missingok notifempty create 0640 root adm }
这里的配置表示:
- 每天轮转日志文件(daily)
- 保留最近 7 天的日志文件(rotate 7)
- 使用 gzip 压缩旧日志文件(compress)
- 如果日志文件不存在,不要报错(missingok)
- 如果日志文件为空,不进行轮转(notifempty)
- 创建新的日志文件,权限为 0640,属主为 root,属组为 adm(create 0640 root adm)
-
保存并关闭配置文件。
-
确保 logrotate 服务正在运行:
sudo systemctl enable logrotate sudo systemctl start logrotate
现在,您的 Node.js 应用程序的日志将按照您在 logrotate 配置文件中指定的设置进行轮转。如果您需要调整轮转策略,只需修改 /etc/logrotate.d/nodejs-app
文件即可。