在 CentOS 系统中,为 Node.js 应用设置日志轮转可以通过以下步骤实现:
-
安装 logrotate 工具:
CentOS 7 及以上版本默认已经安装了 logrotate。如果没有安装,可以使用以下命令安装:
sudo yum install logrotate
-
创建 logrotate 配置文件:
在
/etc/logrotate.d/
目录下创建一个新的配置文件,例如nodejs_app
:sudo vi /etc/logrotate.d/nodejs_app
在打开的文件中,添加以下内容:
/path/to/your/nodejs/app/logs/*.log { daily rotate 7 compress missingok notifempty create 0640 root root }
请根据实际情况替换
/path/to/your/nodejs/app/logs/*.log
为你的 Node.js 应用日志文件的路径。配置项的含义如下:- daily:每天轮转一次日志。
- rotate 7:保留最近 7 天的日志文件。
- compress:压缩轮转后的日志文件。
- missingok:如果日志文件不存在,不会产生错误。
- notifempty:如果日志文件为空,不进行轮转。
- create 0640 root root:创建新的日志文件,权限为 0640,属主为 root,属组为 root。
-
测试 logrotate 配置:
使用以下命令测试 logrotate 配置是否正确:
sudo logrotate -f /etc/logrotate.d/nodejs_app
如果没有错误信息,说明配置正确。
-
设置 logrotate 定时任务:
logrotate 已经自带了定时任务,默认每天凌晨执行一次。你可以通过编辑
/etc/cron.daily/logrotate
文件来修改执行时间或添加其他自定义设置。
现在,你的 Node.js 应用的日志文件将会按照配置进行自动轮转。