Linux系统-日志轮询(logrotate)
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

这是Linux进阶部分的最后一大章。讲完这一章以后,我们Linux进阶部分讲完以后,我们的Linux操作部分就算讲完了,后面的讲解就主要是Linux上的应用软件的讲解,包括虚拟化,容器,云原生,数据库,中间件等。Linux系统相关内容,主要从以下几个方面来讲解:
Linux系统-开关机
Linux系统-单用户模式
Linux系统-救援模式
Linux系统-僵尸&孤儿进程
Linux系统-systemd
Linux系统-logrotate(本章节)
Linux系统-发行版介绍
Linux系统-发行版rocky
Linux系统-发行版ubuntu
Linux系统-初始化
我们在讲Shell编程-案例二的时候讲过,我们可以讲过自定义脚本进行轮询日志,避免单一日志过大以及通过任务计划来删除多久以前的日志,其实系统给我们配置了一个日志轮询工具,他就是logrotate。
logrotate是一个用于管理日志文件的工具,主要用于对日志文件进行轮转、压缩和删除等操作,以防止日志文件无限增长占用过多磁盘空间。
一、主要功能
-
日志轮转
-
logrotate可以按照设定的规则定期对日志文件进行轮转。例如,可以设置每天、每周或每月对日志文件进行轮转。当进行轮转时,原有的日志文件会被重命名(通常添加一个时间戳),然后一个新的日志文件开始接收日志记录。 -
例如,一个名为
application.log的日志文件在进行轮转后可能会变成application.log.20241008,同时一个新的application.log文件被创建用于接收新的日志记录。
-
-
压缩日志
-
可以对轮转后的旧日志文件进行压缩,以节省磁盘空间。常见的压缩格式有
gzip等。 -
比如,轮转后的日志文件
application.log.20241008可以被压缩为application.log.20241008.gz。
-
-
删除旧日志
-
根据设定的保留策略,
logrotate可以自动删除过旧的日志文件,以防止磁盘空间被过多的历史日志占用。 -
例如,可以设置只保留最近的几个轮转后的日志文件,或者保留一定时间范围内的日志文件。
-
二、配置方式
-
配置文件
-
logrotate通常通过一个主配置文件(通常是/etc/logrotate.conf)和多个位于/etc/logrotate.d/目录下的特定应用程序的配置文件进行配置。 -
主配置文件包含一些全局设置,如日志文件的默认轮转频率、压缩方式等。特定应用程序的配置文件则针对具体的日志文件进行详细的轮转规则设置。
-
-
配置参数
-
rotate:指定保留的日志文件轮转次数。 -
weekly/daily/monthly等:设置日志轮转的频率。 -
compress:是否对轮转后的日志文件进行压缩。 -
size:根据日志文件大小进行轮转的条件。 -
missingok:如果日志文件不存在,不产生错误。 -
notifempty:当日志文件为空时,不进行轮转。
-
三、使用示例
以下是一个简单的/etc/logrotate.d/application配置文件示例:
/var/log/application.log {rotate 7weeklycompressmissingoknotifempty
}
这个配置表示对/var/log/application.log日志文件每周进行一次轮转,保留 7 个轮转后的日志文件,并对轮转后的文件进行压缩。如果日志文件不存在或为空,不产生错误。
总之,logrotate是一个非常实用的工具,可以有效地管理日志文件,确保系统的磁盘空间得到合理利用,同时也方便了对历史日志的查看和分析。
总结
1.其实很多系统日志,默认都是使用的logrotate进行切割,包括我们前面讲的Linux日志中的部分日志。

2.很多程序安装完成以后,也会自动配置logrotate进行切割,比如我们常见的ntp软件chrony,数据库mysql等。

3.虽然logrotae的执行是通过任务计划的crond.daily,但是实际上他并不是每天凌晨12点自动执行,而是有一个随机性,大概在凌晨3点以后。具体的可以查看/etc/anacrontab 这个文件,所以如果要固定时间执行,就需要给他一个准确的时间。
4.这里要注意,如果你的日志随时都处于打开状态,还需要切割日志以后重新给进程信号,让它重新写日志文件,否则它还会持续通过文件句柄写日志。

运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
相关文章:
Linux系统-日志轮询(logrotate)
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 这是Linux进阶部分的最后一大章。讲完这一章以后,我们Linux进阶部分讲完以后,我们的Linux操作部分就…...
机器学习在时间序列预测中的应用与实现——以电力负荷预测为例(附代码)
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 随着数据采集技术的发展,时间序列数据在各个领域中的应用越来越广泛。时间序列预测旨在基于过去的时间数据来…...
白杨SEO:百度在降低个人备案类网站搜索关键词排名和流量?怎样应对?【参考】
很久没有写百度或者网站这块内容了,一是因为做百度网站朋友越来越少,不管是个人还是企业;二是百度上用户搜索与百度给到网站的流量都越来越少。 为什么想到今天又来写这个呢?因为上个月有个朋友来咨询我说网站百度排名全没了&…...
前端实现json动画(附带示例)
前端实现json动画(附带示例) 使用lottie制作动画。1.json动画2.实现效果3.git仓库4.运行5.json动画天堂6.代码7. 经常使用的方法 使用lottie制作动画。 1.json动画 废话不多说,直接看效果图2.实现效果 3.git仓库 https://gitee.com/chaiach…...
AI 写作(一):开启创作新纪元(1/10)
一、AI 写作:重塑创作格局 在当今数字化高速发展的时代,AI 写作正以惊人的速度重塑着创作格局。AI 写作在现代社会中占据着举足轻重的地位,发挥着不可替代的作用。 随着信息的爆炸式增长,人们对于内容的需求日益旺盛。AI 写作能够…...
C#-类:索引器
索引器作用:可以让我们以中括号的形式访问自定义类中的元素。 规则自己定,访问时和数组一样 适用于,在类中有数组变量时使用,可以方便的访问、进行逻辑处理 可以重载,结构体也支持索引器 一:索引器的语法…...
Neo4j Cypher WHERE子句详解 - 初学者指南
Neo4j Cypher WHERE子句详解 - 初学者指南 前言1. WHERE子句基础1.1 WHERE子句的本质1.2 示例数据 2. 基本用法2.1 节点属性过滤2.2 关系属性过滤 3. 高级过滤技巧3.1 字符串匹配3.2 正则表达式3.3 属性存在性检查 4. 列表和范围操作4.1 IN操作符4.2 范围查询 5. 空值处理5.1 默…...
【CSS】标准怪异盒模型
概念 CSS 盒模型本质上是一个盒子,盒子包裹着HTML 元素,盒子由四个属性组成,从内到外分别是:content 内容、padding 内填充、border 边框、外边距 margin 盒模型的分类 W3C 盒子模型(标准盒模型) IE 盒子模型(怪异盒模型) 两种…...
栈详解
目录 栈栈的概念及结构栈的实现数组栈的实现数组栈功能的实现栈的初始化void STInit(ST* pst)初始化情况一初始化情况二 代码栈的插入void STPush(ST* pst, STDataType x)代码 栈的删除void STPop(ST* pst)代码 栈获取数据STDataType STTop(ST* pst)代码 判断栈是否为空bool ST…...
硬盘 <-> CPU, CPU <-> GPU 数据传输速度
1. 硬盘 <-> CPU 数据传输速度 import time import os# 定义文件大小和测试文件路径 file_size 1 * 1024 * 1024 * 100 # 100 MB 的文件大小 file_path "test_file.bin"# 创建一个测试文件并测量写入速度 def test_write_speed():data os.urandom(file_si…...
数据编排与ETL有什么关系?
数据编排作为近期比较有热度的一个话题,讨论度比较高,同时数据编排的出现也暗示着数字化进程的自动化发展。在谈及数据编排时,通常也会谈到ETL,这两个东西有相似点也有不同点。 数据编排和ETL(提取、转换、加载&#x…...
来了解一下!!!——React
React 是一个用于构建用户界面的 JavaScript 库,特别适合用于创建单页面应用程序(SPA)。它由 Facebook 维护,并且拥有一个活跃的社区,这使得 React 成为了目前最流行的前端框架之一。以下是关于 React 的一些重要信息和…...
用vite创建项目
一. vite vue2 1. 全局安装 create-vite npm install -g create-vite 2. 创建项目 进入你想要创建项目的文件夹下 打开 CMD 用 JavaScript create-vite my-vue2-project --template vue 若用 TypeScript 则 create-vite my-vue2-project --template vue-ts 这里的 …...
json-server的使用(根据json数据一键生成接口)
一.使用目的 在前端开发初期,后端 API 可能还未完成,json-server 可以快速创建模拟的 RESTful API,帮助前端开发者进行开发和测试。 二.安装 npm install json-server //局部安装npm i json-server -g //全局安装 三.使用教程 1.准备一…...
半波正弦信号的FFT变换
目录 Hello, 大家好,这一期我们谈谈半波正弦信号的FFT变化长什么样子。本文硬件使用GFARM02硬件模块[1],文章最后有其淘宝链接。核心器件为STM32F103RCT6,为Cortex-M3核,采用的CMSIS版本为CMSIS_5-5.6.0。 如图1所示&…...
Python数据分析NumPy和pandas(二十三、数据清洗与预处理之五:pandas的分类类型数据)
pandas的分类类型数据(Categorical Data) 这次学习使用Categorical Data,在某些 pandas 操作中使用分类类型能实现更好的性能和减少内存使用。另外还学习一些工具,这些工具有助于在统计和机器学习应用程序中使用分类数据。 一.背…...
redis源码系列--(二)--multi/exec/eval命令执行流程
本文主要记录multi/exec、eval、redis执行lua脚本的源码流程 redis在exec之前,所有queued的命令是没有执行的,!!!在执行时会通过检测client是否被打上CLIENT_DIRTY_CAS标记来判断[watch后,exec时]时间段内是否有key被…...
【力扣打卡系列】移动零(双指针)
坚持按题型打卡&刷&梳理力扣算法题系列,语言为go,Day19 移动零(双指针) 题目描述 解题思路 p和q同时从起点移动,p每次都,q仅在交换时,p遇到非零数时与p值交换!!…...
无源元器件-电容选型参数总结
🏡《总目录》 目录 1,概述2,电容选型参数2.1,电容值(Capacitance)2.2,额定电压(Rated Voltage )2.3,外观(Appearance)2.4,尺寸(Dimension)2.5,耐压(Voltage Proof)2.6,绝缘电阻(Insulation Resistance)2.7,耗散因子或耗散系数(IQ or Dissipation Facto…...
Linux下的socket编程
概述 下面是一个通用的server端程序源码,用于实现两个client之间的通信。 功能 1、接收user的命令cmd消息,并将cmd消息发送到dev; 2、接收dev的应答ack消息,并将ack消息发送到user; 架构实现 通过6个线程实现。 …...
中老年人腰椎退行性病变,养护比治疗更重要
随着年龄增长,人体骨骼、关节会逐渐老化,腰椎退行性病变成为中老年人的常见问题,主要表现为腰椎间盘退变、椎间隙狭窄、骨质增生、腰椎不稳等,可引发腰部疼痛、下肢麻木、活动受限等症状,严重影响中老年人的生活质量。…...
威联通NAS结合阿里云实现安全远程访问:域名与SSL证书全流程配置
1. 为什么需要为威联通NAS配置域名和SSL证书? 很多朋友买了威联通NAS后都会遇到一个头疼的问题:怎么在外面也能安全地访问家里的NAS?直接暴露IP地址不仅难记,还存在安全隐患。我刚开始用NAS时也踩过不少坑,后来发现用阿…...
手把手教你用Python实现ECC椭圆曲线加密(附完整代码示例)
手把手教你用Python实现ECC椭圆曲线加密(附完整代码示例) 1. 为什么选择ECC加密? 在现代密码学领域,椭圆曲线加密(ECC)正逐渐成为RSA的有力竞争者。相比传统RSA算法,ECC在相同安全级别下密钥长…...
中创新航发布2025年度业绩:总收入444亿元同比增长60% 盈利能力跨越式提升
3月27日,中创新航(03931.HK)发布2025年度业绩公告。公告显示,公司全年总收入444.00亿元人民币,同比增长约60.0%;年内利润20.95亿人民币,同比增长约148.4%,盈利能力实现跨越式提升&am…...
数据科学家的懒人包:OpenClaw+nanobot自动清洗CSV并生成可视化报告
数据科学家的懒人包:OpenClawnanobot自动清洗CSV并生成可视化报告 1. 为什么需要自动化数据清洗与报告生成? 作为一名经常处理数据的人,我发现自己每周都在重复同样的工作:收到CSV文件→检查格式→处理缺失值→生成可视化→发送…...
iStoreOS软路由结合Cpolar内网穿透:打造稳定高效的居家远程办公网络
1. 为什么你需要iStoreOS软路由Cpolar组合? 最近两年远程办公越来越普遍,但很多朋友都遇到过这样的困扰:公司电脑里的文件急着要用,跑回办公室又太麻烦;出差在外需要调取内网资料,VPN连接却卡成幻灯片。我自…...
Pixel Mind Decoder 命令行工具开发:使用Typora风格交互进行情绪随笔分析
Pixel Mind Decoder 命令行工具开发:使用Typora风格交互进行情绪随笔分析 1. 引言:当写作遇上情绪分析 你有没有过这样的体验?在Typora里奋笔疾书时,突然想知道这段文字传递出怎样的情绪色彩。作为一个经常用Markdown写作的人&a…...
OpenClaw常见错误排查:nanobot连接问题解决方案
OpenClaw常见错误排查:nanobot连接问题解决方案 1. 问题背景与排查思路 上周我在本地部署OpenClaw对接nanobot镜像时,遇到了几个典型的连接问题。作为一个开源自动化框架,OpenClaw在实际使用中经常会遇到各种"水土不服"的情况。特…...
补全Query Norm缺失!哈工深团队重构线性注意力,显存直降92.3%
当 Transformer 席卷计算机视觉领域,高分辨率图像、超长序列任务带来的算力与显存瓶颈愈发凸显:标准 Softmax 注意力的二次复杂度,让 70Ktoken 的超分辨率任务直接显存爆炸,高分辨率图像分割、检测的推理延迟居高不下。线性注意力…...
Windows驱动级输入模拟终极指南:Interceptor技术深度解析与应用实战
Windows驱动级输入模拟终极指南:Interceptor技术深度解析与应用实战 【免费下载链接】Interceptor C# wrapper for a Windows keyboard driver. Can simulate keystrokes and mouse clicks in protected areas like the Windows logon screen (and yes, even in gam…...
