logrotate实现日志切割和清理(清晰易懂)
一、logrotate介绍
logrotate是centos自带命令,其他linux操作系统可能需要自行安装,用来进行日志切割和定期删除,简单来说就是将某个日志文件按照时间或大小分割成多份,删除时间久远的日志。
日志用来帮助我们了解程序运行情况,定位程序bug,如果不对日志及时进行清理就会占据磁盘空间,尤其对于服务器类型的项目,需要长期运行,日志量更大,一年前的日志大部分情况下对我们是无用的也无需保留,并且如果我们的日志记录频率很高,全部存储在一个文件中,文件是很大的,当需要查看时,使用vim或者其他软件打开也会很卡。
二、配置讲解
logrotate是基于crond服务(定时任务)来运行的,
有几个重要的配置:
1、/etc/logrotate.conf(主配置)和/etc/logrotate.d/*(子配置)
/etc/logrotate.conf是全局配置,logrotate.conf里面包含include /etc/logrotate.d这句,加载子配置文件的意思,说明/etc/logrotate.d/目录下是具体的配置,一般是以服务名称命名,比如yum等配置。主配置和子配置有冲突时,以子配置的规则为准。
logrotate配置文件及常用参数解释如下图:
2、/var/lib/logrotate.status,是logrotate自己的日志文件
记录logrotate的运行情况,可以查看被logrotate管理的日志文件的最后备份时间
3、logrotete 命令参数
(上面三个照片来源:b站截图,侵删)
三、实现
实现方式有两种
方案1:是在原有的配置下新增(在主配置或子配置新增),依旧被原来的cron管理,系统的cron管理一般是每天执行一次,基于计划任务/etc/cron.daily/logrotate
方案2:是在自己在任意位置新建配置文件,然后自己写定时任务来管理,自己写定时任务更灵活,可以每小时,每天23:59:00,每周等任何时刻执行logrotate命令,但两者原理是一样的,都是logrotate命令被执行时就按照logrotate配置文件来切割清理日志
案例:方案2,每天23:59:00执行logrotate命令,按天清理,保留5天
step1,任意位置写配置文件,权限改成644
step2,写定时任务,定时执行logrotate
crontab -e写入,内容为“ 59 23 * * * /usr/sbin/logrotate -f /home/zmq/daily_logrotate ”
step3,修改系统时间,测试效果
调整系统时间为23:58:30,等待30s
切割成功,logrotate本身的日志也记录在/var/lib/logrotate.status里了
四、注意事项
1、如果像我这样,自己新增一个配置文件,需要给配置文件的权限设置成644及以下,否则logrotate不生效
2、logrotate -d hello.conf :加-d运行该命令,只是测试此时是否满足日志分割的条件,实际上并没有进行分割备份文件
3、-f 参数,强制执行日志分割清理的功能,我觉得加上更好,因为执行logrotate命令要检查很多(比如系统时间等),导致执行失败,所以直接 -f 强制执行,简单粗暴
4、参考文章:这两文章有些点解释的很好,侵删
logrotate自定义切割时间的一些坑 - 梦轻尘 - 博客园
Linux日志切割神器logrotate原理介绍和配置详解 - 知乎
logrotate实现日志切割和清理(清晰易懂)相关推荐
- windows 下对mongoDB 的日志切割,清理
由于windows下部署mongoDB时,默认注册成windows 服务,所以nssm已经无法再次配置mongoDB,需要通过脚本完成 1.mongoDB的日志切割脚本: 写个rotate.js 然后 ...
- logrotate工具日志切割
/var/log/zabbix/zabbix_server.log {daily ##每天转储rotate 60 ##保留60个备份olddir /usr/local/src ##保存日志的位置com ...
- nginx日志切割logrotate
环境是docker-compose,日志是挂载出来的,通过logrotate进行日志切割. 安装logrotate yum install logrotate -y 在 /etc/logrotate. ...
- 【09】Nginx:静态压缩 / 日志切割 / 防盗链 /恶意解析/ 跨域
写在前面的话 上一节我们谈了关于 nginx 服务器的一些简单的安全优化问题,能够帮助我们解决一部分线上服务存在的安全隐患.但是想要提升用户体验这是原因不够的,我们还需要从服务的优化方面入手. 本节更 ...
- 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)
对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮 ...
- catalina.out 日志切割及定时清理
一.安装 1.. 安装使用cronolog工具对catalina.out日志文件进行切割 # wget http://cronolog.org/download/cronolog-1.6.2.tar. ...
- Linux日志切割工具logrotate原理和配置详解
前言: 对于Linux系统安全来说,日志文件是及其重要的工具 一.logrotate概念 1.1 概念 logrotate 程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的 ...
- Linux日志切割神器Logrotate的原理和配置详解,建议收藏!!!
对于 Linux 系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分 Nginx日志之类的 CRON脚本,大家似乎遗忘了 Logrotate,争相发 ...
- Linux 日志切割神器 Logrotate 原理和配置详解(附多生产实例)
点击上方"民工哥技术之路",选择"设为星标" 回复"1024"获取独家整理的学习资料! 对于 Linux 系统安全来说,日志文件是极其重要的 ...
最新文章
- 一对一直播app源码功能操详解方案分享
- 基坑监测日报模板_长沙一工地基坑坍塌致2人死亡!基坑坍塌的瞬间,只有无能为力和惊心动魄!...
- python快速上手下载_初学者如何尽快上手python
- catia相合约束怎么反向_人是怎么不知不觉废掉的?进来,帮你
- 【CF1338C】Perfect Triples【位运算】【构造】
- python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)
- mysql中phpmyadmin安装教程_phpMyAdmin 安装教程全攻略
- vue 点击div 获取位置_vue接入腾讯位置服务之点击事件
- [转]find命令之exec
- PowerBI制作报表背景图
- mutillidae(owasp10)数据库报错
- 编译 pg_repack
- 二十一世纪最该了解的一类人:找个极客做朋友吧
- SPSS回归分析结果解读【来自百度知道】
- 骨感传导蓝牙耳机怎么样、骨感传导蓝牙耳机有什么特点
- 20194311姜晨昊Exp2-后门原理与实践
- office 2010 报1920错误 (未能启动服务 “Office Software Protection Platform”(osppsvc))
- php 编译mcrypt,linux php7.2.1 编译安装mcrypt
- 数据分析与R软件(第二版)李素兰著 各章例题数据和程序
- 简版:读、实践《动手学深度学习》
热门文章
- img ,background-img,background-size
- win10 3D viewer
- ubuntu系统(七):工控机连接手机热点
- OpenStack云平台搭建(3) | 部署Glance
- 基于计算机视觉的手势识别技术
- 对PhD一年级新生有什么建议?
- (ZT) 上海房价再涨五倍也并非天方夜谭?
- Python根据出生日期判断你的星座
- 无线路由器桥接(以不同品牌为例tplink和fast)
- cad图纸比对lisp_CompareDWG|CAD图纸比较软件(CompareDWG)下载v2018 官方版 - 欧普软件下载...