Linux日志怎么切割_Linux日志通过修改/etc/logrotate.conf全局配置的指南
发布时间 - 2025-11-17 00:00:00 点击率:次logrotate通过配置/etc/logrotate.conf实现日志自动轮转,支持周期切割、压缩保留及错误处理,推荐结合全局策略与/etc/logrotate.d/下服务独立配置,如Nginx按日轮转并重载服务,通过logrotate -d/-f测试验证规则生效,避免磁盘溢出。
Linux系统中的日志文件会随着时间不断增长,过大的日志文件不仅占用磁盘空间,还会影响系统性能和排查问题的效率。logrotate 是 Linux 上用于自动管理日志轮转(切割、压缩、删除旧日志)的工具。通过修改 /etc/logrotate.conf 文件,可以统一配置全局日志行为。
理解 logrotate.conf 的基本结构
/etc/logrotate.conf 是 logrotate 的主配置文件,定义了默认策略和包含其他配置的目录。常见的内容如下:
# 全局配置 weekly rotate 4 create dateext include /etc/logrotate.d
- weekly:默认每周轮转一次日志
- rotate 4:保留4个历史日志版本,超过则删除最老的
- create:轮转后创建新的空日志文件
- dateext:使用日期作为轮转文件的后缀(如 access.log-20250405)
- include /etc/logrotate.d:包含该目录下所有服务的独立配置(推荐方式)
修改全局策略以适应实际需求
如果希望改变所有日志的默认行为,可以直接编辑 /etc/logrotate.conf。例如:
- 将 weekly 改为 daily 实现每日切割
- 调整 rotate 4 为 rotate 7 保留更多备份
- 添加 compress 启用gzip压缩,节省空间
- 加入 missingok 避免因日志临时缺失报错
- 使用 notifempty 不对空文件进行轮转
修改后示例片段:
daily rotate 7 compress missingok notifempty create dateext include /etc/logrotate.d
针对特定服务的配置建议
虽然可以修改全局配置,但更推荐在 /etc/logrotate.d/ 下为具体服务单独设置。例如 Nginx 的配置文件 /etc/logrotate.d/nginx:
/var/log/nginx/*.log {
daily
rotate 10
missingok
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
systemctl reload nginx > /dev/null 2>&1 || true
endscript
}
- sharedscripts:多个日志只执行一次 postrotate 脚本
- postrotate...endscript:轮转后重新加载服务,确保写入新文件
- create 0640:指定新日志权限和所属用户组
测试与验证配置是否生效
修改配置后,应先测试语法正确性,避免自动任务失败:
- 运行 logrotate -d /etc/logrotate.conf 查看调试输出,确认匹配规则
- 使用 logrotate -f /etc/logrotate.conf 强制执行一次轮转(可用于验证)
- 检查目标日志目录是否有新生成的 .log-日期 文件
- 查看压缩情况,确认 .gz 文件生成
系统通常通过 cron 自动执行 logrotate,无需手动干预日常运行。
基本上就这些。合理设置 /etc/logrotate.conf 和子配置,能有效管理日志生命周期,避免磁盘被撑满。关键是根据业务日志量选择合适的轮转频率和保留策略。不复杂但容易忽略细节。
# linux
# go
# nginx
# access
# 工具
# ai
# 配置文件
# linux系统
# red
# include
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用AI帮你把自己的生活经历写成一个有趣的故事?
linux top下的 minerd 木马清除方法
如何用5美元大硬盘VPS安全高效搭建个人网站?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
JavaScript如何实现倒计时_时间函数如何精确控制
如何挑选高效建站主机与优质域名?
如何破解联通资金短缺导致的基站建设难题?
python中快速进行多个字符替换的方法小结
免费视频制作网站,更新又快又好的免费电影网站?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
Android GridView 滑动条设置一直显示状态(推荐)
敲碗10年!Mac系列传将迎来「触控与联网」双革新
JavaScript如何操作视频_媒体API怎么控制播放
高性价比服务器租赁——企业级配置与24小时运维服务
MySQL查询结果复制到新表的方法(更新、插入)
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Python数据仓库与ETL构建实战_Airflow调度流程详解
Swift开发中switch语句值绑定模式
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何在局域网内绑定自建网站域名?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
bootstrap日历插件datetimepicker使用方法
android nfc常用标签读取总结
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
如何用wdcp快速搭建高效网站?
JS实现鼠标移上去显示图片或微信二维码
详解jQuery停止动画——stop()方法的使用
如何在Tomcat中配置并部署网站项目?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何确认建站备案号应放置的具体位置?
智能起名网站制作软件有哪些,制作logo的软件?
免费网站制作appp,免费制作app哪个平台好?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
大学网站设计制作软件有哪些,如何将网站制作成自己app?
JavaScript常见的五种数组去重的方式
如何在建站宝盒中设置产品搜索功能?
如何在万网ECS上快速搭建专属网站?
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
微信h5制作网站有哪些,免费微信H5页面制作工具?
微信小程序 HTTPS报错整理常见问题及解决方案
网站建设保证美观性,需要考虑的几点问题!
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
手机网站制作与建设方案,手机网站如何建设?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
上一篇:详解如何使用Vue2做服务端渲染
下一篇:饿了么众包是什么意思【详解】
上一篇:详解如何使用Vue2做服务端渲染
下一篇:饿了么众包是什么意思【详解】


配置,如Nginx按日轮转并重载服务,通过logrotate -d/-f测试验证规则生效,避免磁盘溢出。