讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux日志怎么切割_Linux日志借助logrotate实现多日志文件同时切割的技巧

夜宇君_1443

夜宇君_1443

发布时间:2025-11-14 08:02:02

|

489人浏览过

|

来源于php中文网

原创

logrotate可通过统一配置实现多日志同时切割,提升运维效率。将Nginx、Tomcat等日志路径列于同一配置块,使用daily、compress、rotate等指令设定策略,配合sharedscripts确保轮转后仅执行一次postrotate脚本(如reload服务),并通过通配符减少重复。测试时用logrotate -d模拟运行,-f强制执行,验证新日志生成及服务写入正常。建议集中管理配置、避免高频轮转、监控执行状态,以保障系统稳定。

linux日志怎么切割_linux日志借助logrotate实现多日志文件同时切割的技巧

在Linux系统中,日志文件随着时间推移会不断增长,过大的日志不仅影响性能,还可能导致磁盘空间耗尽。为了解决这个问题,logrotate 是一个非常实用的工具,能够自动对日志文件进行轮转、压缩、删除和邮件发送等操作。更进一步,我们可以通过配置实现多个日志文件的同时切割,提升运维效率。

理解logrotate的基本工作原理

logrotate通过读取配置文件来决定哪些日志需要处理以及如何处理。它通常由系统定时任务(cron)每天执行一次,检查日志是否满足轮转条件。

核心机制包括:

  • 按时间(每日、每周、每月)或大小触发轮转
  • 重命名旧日志并创建新日志文件
  • 可选压缩历史日志(如使用gzip)
  • 保留指定数量的旧日志副本
  • 支持脚本钩子(postrotate、prerotate等)用于服务重启或其他操作

配置多日志同时切割的方法

要实现多个日志文件的统一管理与同时切割,关键是合理组织配置文件结构,并利用通配符或共享指令减少重复。

示例:假设你需要同时切割Nginx、Tomcat和自定义应用的日志:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

编辑 /etc/logrotate.d/multi-app-logs

/var/log/nginx/*.log /var/log/tomcat/catalina.out /opt/app/logs/app.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 www-data adm
sharedscripts
postrotate
systemctl reload nginx > /dev/null 2>&1 || true

如果tomcat使用systemd,则也可reload或restart

endscript  

}

关键点说明:

  • 多个路径写在同一块中:将不同服务的日志路径列在同一个{}块内,可确保它们被同时处理
  • sharedscripts:表示所有日志轮转完成后才执行一次postrotate脚本,避免每个文件都触发一次reload
  • 通配符支持:如 /var/log/nginx/*.log 可匹配所有Nginx访问日志和错误日志
  • create权限设置:保证新日志文件权限正确,防止服务无法写入

测试与调试技巧

在正式部署前,务必验证配置是否正确:

  • 使用命令 logrotate -d /etc/logrotate.conf 模拟运行,查看详细输出(dry-run)
  • 添加 -f 参数强制立即执行轮转:logrotate -f /etc/logrotate.d/multi-app-logs
  • 检查日志位置是否有新生成的 .1、.2.gz 文件
  • 确认服务进程仍正常写入新日志文件(有时需reload才能切换fd)

如果发现服务未写入新日志,常见原因是未正确reload服务。可在postrotate中加入对应命令,例如 kill -USR1 `cat /var/run/nginx.pid` 或使用systemctl reload。

最佳实践建议

  • 将同类或多服务日志切割规则集中在一个配置文件中,便于维护
  • 避免频繁轮转(如 hourly),除非有明确需求且已配置cron配合
  • 启用compress后注意I/O负载,delaycompress有助于缓解高峰压力
  • 监控logrotate自身的执行情况,可通过rsyslog记录其运行状态
  • 对于不支持信号重载的服务,考虑使用copytruncate(慎用,存在丢失日志风险)

基本上就这些。只要掌握配置结构和关键字含义,用logrotate实现多个日志文件的同时切割并不复杂,但能显著提升系统稳定性和可维护性。

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

845

2023.10.26

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

304

2024.02.23

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

489

2024.02.23

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

285

2024.02.23

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

348

2024.02.23

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

349

2024.02.23

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

581

2024.02.23

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

322

2024.02.23

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn