阅读量:2
Ubuntu系统下JS(Node.js)日志轮转主要通过logrotate工具实现,核心策略如下:
-
工具基础
- Ubuntu默认预装
logrotate,用于定时轮转、压缩、删除旧日志,避免磁盘占满。 - 配置文件路径:
/etc/logrotate.conf(全局默认规则)、/etc/logrotate.d/(自定义服务配置)。
- Ubuntu默认预装
-
关键配置参数
- 轮转周期:
daily(每天)、weekly(每周)、monthly(每月),或按文件大小size 100M(超过100MB触发)。 - 保留数量:
rotate 7(保留最近7个日志文件),超量自动删除。 - 压缩与权限:
compress(启用gzip压缩)、create 0640 root root(新日志文件权限及属主)。 - 条件控制:
missingok(文件丢失不报错)、notifempty(空文件不轮转)。
- 轮转周期:
-
针对Node.js的典型配置
- 假设日志路径为
/var/log/myapp/*.log,配置示例:该配置表示:每天轮转日志,保留14天,压缩旧文件,轮转后尝试重启应用以重新加载日志。/var/log/myapp/*.log { daily rotate 14 compress delaycompress missingok notifempty create 0640 root adm postrotate # 可选:重启应用或通知服务重新打开日志 # /bin/kill -HUP $(cat /var/run/myapp.pid 2>/dev/null) endscript }
- 假设日志路径为
-
执行与管理
- 自动运行:通过
/etc/cron.daily/logrotate定时任务每日执行,无需手动干预。 - 手动测试:使用
sudo logrotate -vf /etc/logrotate.d/myapp验证配置是否正确。
- 自动运行:通过
-
其他工具补充
- pm2:若使用pm2管理Node.js应用,可通过
pm2-logrotate模块实现日志轮转,需在ecosystem.config.js中配置log_rotate参数。 - rsyslog:系统级日志(如syslog)轮转也可通过
rsyslog配置实现,但JS应用通常直接使用logrotate。
- pm2:若使用pm2管理Node.js应用,可通过
参考来源:
以上就是关于“Ubuntu JS日志轮转策略是什么”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm