18.3 【Linux】登录文件的轮替(logrotate)

news2024/10/5 17:19:10

18.3.1 logrotate 的配置文件

logrotate 主要是针对登录文件来进行轮替的动作,他必须要记载“ 在什么状态下才将登录文件进行轮替”的设置。logrotate 这个程序的参数配置文件在:

/etc/logrotate.conf

/etc/logrotate.d/

logrotate.conf 才是主要的参数文件,至于 logrotate.d 是一个目录, 该目录里面的所有文件都会被主动的读入 /etc/logrotate.conf 当中来进行!另外,在 /etc/logrotate.d/ 里面的文件中,如果没有规定到的一些细部设置,则以 /etc/logrotate.conf 这个文件的规定来指定为默认值!

logrotate 的主要功能就是将旧的登录文件移动成旧文件, 并且重新创建一个新的空的文件来记录,他的执行结果有点类似下面的图示:

                                       图18.3.1、登录文件进行 logrotate 的结果

由上面的图示我们可以清楚的知道,当第一次执行完 rotate 之后,原本的 messages 会变成messages.1 而且会制造一个空的 messages 给系统来储存登录文件。而第二次执行之后,则messages.1 会变成 messages.2 而 messages 会变成 messages.1 ,又造成一个空的messages 来储存登录文件!那么如果我们仅设置保留三个登录文件而已的话,那么执行第四次时,则 messages.3 这个文件就会被删除,并由后面的较新的保存登录文件所取代!基本的工作就是这样。

下面是logrotate.conf中的默认内容:

由这个文件的设置我们可以知道 /etc/logrotate.d 其实就是由 /etc/logrotate.conf 所规划出来的目录,所以,其实我们可以将所有的数据都给他写入 /etc/logrotate.conf 即可,但是这样一来这个文件就实在是太复杂了,尤其是当我们使用很多的服务在系统上面时, 每个服务都要去修改 /etc/logrotate.conf 的设置也似乎不太合理。所以,如果独立出来一个目录,那么每个以RPM 打包方式所创建的服务的登录文件轮替设置, 就可以独自成为一个文件,并且放置到/etc/logrotate.d/ 当中即可。

一般来说,这个 /etc/logrotate.conf 是“默认的轮替状态”而已, 我们的各个服务都可以拥有自己的登录文件轮替设置。如果你的系统空间够大,并且担心出错及骇客的问题,那么可以:

将 rotate 4 改成 rotate 9 左右,以保存较多的备份文件。

大部分的登录文件不需要 compress,空间太小就需要compress,尤其是很占硬盘空间的 httpd 更需要 compress 的。

logrotate.conf 的设置语法是:

下面我们再以 /etc/logrotate.d/syslog 这个轮替 rsyslog.service 服务的文件,来看看该如何设置他的 rotate:

在上面的语法当中,我们知道正确的 logrotate 的写法为:

  • 文件名:被处理的登录文件绝对路径文件名写在前面,可以使用空白字符分隔多个登录文件;
  • 参数:上述文件名进行轮替的参数使用 { } 包括起来;
  • 执行脚本:可调用外部指令来进行额外的命令下达,这个设置需与 sharedscripts ....endscript 设置合用才行。至于可用的环境为:
  1. prerotate:在启动 logrotate 之前进行的指令,例如修改登录文件的属性等动作;
  2. postrotate:在做完 logrotate 之后启动的指令,例如重新启动 (kill -HUP) 某个服务!
  3. Prerotate 与 postrotate 对于已加上特殊属性的文件处理上面,是相当重要的执行程序!

那么 /etc/logrotate.d/syslog 内设置的 5 个文件的轮替功能就变成了:

  • 该设置只对 /var/log/ 内的 cron, maillog, messages, secure, spooler 有效;
  • 登录文件轮替每周一次、保留四个、且轮替下来的登录文件不进行压缩(未更改默认值);
  • 轮替完毕后 (postrotate) 取得 syslog 的 PID 后,以 kill -HUP 重新启动 syslogd

18.3.2 实际测试 logrotate 的动作

上面那个 -f 具有“强制执行”的意思,如果一切的设置都没有问题的话,那么理论上,你的/var/log 这个目录就会起变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无涯教程-JavaScript - ADDRESS函数

描述 给定指定的行号和列号,您可以使用ADDRESS函数获取工作表中单元格的地址。 如,ADDRESS(2,3)返回$C $2。再举一个Example,ADDRESS(77,300)返回$KN $77。您可以使用其他函数(如ROW和COLUMN函数)为ADDRESS函数提供行号和列号参数。 语法 ADDRESS (row_num, column_num, [a…

跨境电商和TikTok广告:突破地理界限的机会

随着全球数字化的快速发展,跨境电商已经成为了现代商业的关键驱动力。同时,TikTok作为一款全球范围内广受欢迎的社交媒体平台,也在商业领域崭露头角。 本文将探讨跨境电商如何与TikTok广告相结合,为企业提供突破地理界限的机会。…

苹果宣布9月26日发布全新macOS Sonoma系统 新增不少实用功能

苹果公司在召开的特别活动中,宣布将于 9 月 26 日正式发布 macOS Sonoma,用户可以打开“设置”->“通用”->“软件更新”路径进行更新,新版本主要增强空间函数、为 AirPods 测试自适应音频、个性化音量和对话感知等新功能。 macOS Sono…

1.0零基础尝试DCM通讯(c-store)

前言 本项目是对医院放疗及相关设备的互通互联。对dcm文件及数据协议是本项目的基础。 今天在项目组成员支持下,对dcm通讯进行了初步的尝试,有人之路,这个过程可以说是非常愉快,于是乎准备将这个愉快的过程记录,方便自己查阅和后来人。 c-store 本次的安装和测试使用的…

乔哈里视窗:助力项目团队高效沟通

项目研发通常涉及多个团队成员、不同的职能部门和利益相关者,如果干系人间缺乏沟通,缺乏对项目目标、需求的共识和理解,团队成员间容易产生隔阂和矛盾,无法有效协调和管理,导致项目无法按时交付、质量下降、成本增加等…

视频怎么压缩?把视频压缩的小一点这样做

视频压缩在我们的生活和工作中有着广泛的应用需求,是一种减少视频文件大小的方法,可以给我们带来以下几个方面的作用: 1、减少存储空间占用:视频压缩可以显著减少视频的大小,从而腾出更多的存储空间,对于手…

一套精简的springboot后台管理系统

概述 本后台管理系统,基于SpringBoot2.0 Spring Data Jpa Thymeleaf Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,拓展性高,可作为您后台开发的基础框架 详细 运行截图: 项目结构: 详细…

EndNote21 | 杂志输出样式(参考文献格式模板)下载及安装

EndNote | 杂志输出样式下载及安装 一、参考文献格式下载二、参考文献格式安装 在《 Endnote: 文献条目的添加编辑引用文献全称与缩写的互相转换》文章中,介绍了如何手动编辑杂志输出样式,本文主要介绍如何从官网快速下载并安装所需杂志输出样式。 一、…

程序单实例运行的一种实现

技术背景知识 来自《Windows核心编程》 创建自定义段 Section 来自《Windows核心编程》 举例(获取当前总共运行的实例数) 创建自定义段并设置属性 #include "stdafx.h" #include "MFCApplication1.h" #include "MFC…

恒运资本:三大利好来袭,人民币直线拉升!股市能否大反攻?

早盘,又有突发! 9月15日,远洋集团在港交所公告,鉴于其流动性严重状况,经集团审慎考虑,将暂停其一切境外债款(包含下述境外美元证券)项下的付款,直至全体重组及╱或延期解…

JDK API文档地址(中文和英文)

JDK1.6 JDK 1.6 中文手册 JDK1.8 Java 8 中文版 - 在线API手册 - 码工具 Java 官方文档 |官方教程|Java 官方文档 API中文手册|Java 官方文档参考文档_w3cschool 网上还有很多百度网盘中也有 JDK17 https://doc.qzxdp.cn/jdk/17/zh/api/index.html 英文文档 所有版本 …

uniapp微信小程序地图实现周边

官方说明:小程序JavascriptSDK使用指南 - 微信小程序解决方案 | 腾讯位置服务https://lbs.qq.com/product/miniapp/jssdk/ 先申请腾讯地图的开发者密钥,申请地址:腾讯位置服务 - 立足生态,连接未来 申请密钥时,需要勾…

【MySQL基础|第三篇】--- 详谈SQL中的DQL语句

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 前言 DQL&…

浙江工商大学MBA项目哪些人在报考?职务、就业、薪资……

9月下旬到10月下旬是每一年全国研究生网上报名的时间,这段时间内很多MBA考生要确定自己最终一志愿报考的学校和专业,在浙江省内,如果不想报考浙江大学的话,那么其余还有8个MBA项目可以选择。本期杭州达立易考教育为大家整理了浙工…

使用 kind 搭建 Kubernetes学习环境

什么是 kind ? kind ( Kubernetes in Docker ) 让 你 能 够 在 本 地 计 算 机 上 运 行 Kubernetes 。 使 用 这 个 工 具 需 要 你 安 装 Docker 或 者 Podman 。 kind 将 Kubernetes 所需要的所有组件, 全部部署在一个 Docker …

微信小程序 非机动车车辆充电维修管理系统

本课题要求实现一套非机动车车辆管理系统,系统主要包括(管理员服务端和学生微信端、车辆管理员微信端、辅导员服务端、车辆管理员服务端、辅导员微信端)六个模块功能。 设计并实现了非机动车车辆管理系统。系统选用java语言,应用S…

【Android取证篇】华为设备跳出“允许USB调试“界面方法的不同方法

【Android取证篇】华为设备跳出"允许USB调试"界面方法的不同方法 华为设备在鸿蒙OS3系统之后,部分设备启用"允许USB调试"方式会有所变化,再次做个记录—【蘇小沐】 1.实验环境 系统版本Windows 11 专业工作站版22H2(2…

【送书活动】朋友圈大佬都去读研了,这份备考书单我码住了

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

AIGC做题能力谁家强呢?

通义千问刚发布了, 想和文心一言比较一下,就简单的问了三个问题 1 挖了个坑的鸡兔同笼问题,12个头35个脚的情况求解。 通义千问能意识到鸡兔脚都是偶数,计算出现小数点就自动舍弃了,结果就是7鸡5兔一共34只脚。 拒绝…

重点--环形缓冲区-----适合在通信中接收数据

为什么要用环形缓冲区 当有大量数据的时候,我们不能存储所有的数据,那么计算机处理数据的时候,只能先处理先来的,处理之后就会把数据释放掉,再处理下一个。那么已经处理的数据的内存就会被浪费掉。因为后来的数据只能往…