syslog定期rotate和限制其size的配置方法ubuntu上

2023-12-09 05:15

本文主要是介绍syslog定期rotate和限制其size的配置方法ubuntu上,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1。 修改 “/etc/logrotate.d/rsyslog”
(解决权限问题和添加大小限制)
添加:su root syslog

size <最大的size>
例如 200M

/var/log/syslog
{su root syslogrotate 7dailymissingoknotifemptydelaycompresscompresssize 500Kpostrotate/usr/lib/rsyslog/rsyslog-rotateendscript
}

2。 修改 /etc/crontab

添加:

*/2  *    * * *   root  logrotate /etc/logrotate.d/rsyslog

如上为两分钟,轮询一次。每20分钟一次为:

*/20  *    * * *   root  logrotate /etc/logrotate.d/rsyslog

每分钟一次为

*  *    * * *   root  logrotate /etc/logrotate.d/rsyslog

3。 改完后,需要更改相对应的服务
systemctl restart cron
sudo service logrotate restart

4。如何调试
(1)编写一个一直向syslog中写入信息的脚本
#root@localhost:~# cat ./pushsys.sh

#!/bin/bash# Initialize sequence number
seq_number=1# Log messages cyclically
while true; do# Log message with sequence numberlogger "[$seq_number] Cyclic log message. $(date)"# Increment the sequence number((seq_number++))#sleep 1  # Sleep for 1 second before the next iteration
done

(2) 编写一个cron的脚本
cat /home/cron_check.sh

#!/bin/bash# Specify the file path
file_path="/home/cron_check.txt"# Touch the file if it doesn't exist
touch "$file_path"# Append the current date and time to the file
echo "$(date) - Cron job called" >> "$file_path"logrotate -v /etc/logrotate.d/rsyslog >> "$file_path" 2>&1

(3) 在crontab中添加

*  *    * * *   root /home/cron_check.sh

(4) 重启两个服务
systemctl restart cron

sudo service logrotate restart
(5)启动 /home/pushsys.sh
(6)启动查看log
tail -f /home/check_cron.txt
(7) 在 /var/log目录,不断执行 ls -l , 查看变更情况

5。 总结
(1)su root syslog
(2)size 1M
(3)网上说的增加一个minutely的方式,看来是不能成功的。应该改成自己写的脚本。
(4)如果要变更syslog的路径,则两个文件都需要变更
“/etc/logrotate.d/rsyslog”
/etc/rsyslog.d/50-default.conf
(5)重点是学会如何调试logrotate的服务
(6)因为我也没有完全搞清楚,所以,文章中没有说,但实际上,一半的时间还是花在权限上。linux体系对syslog的权限做了特殊的处理。倒不是有多少高深的技术,主要是管理思想。基本的思想是,syslog由syslog用户来控制。这个用户在adm组中。要注意root并不在这个组中。而且,人家也不建议将root放到adm组中。相当于记log的要有独立性。root用户在这里,也是一个普通的用户。
所以,即使你将syslog和其parent目录,设置为root可以操作,重启之后,还是会被刷回来,然后你就能看到一长串错误。
所以,有第一条:su root syslog,意思是建一个临时的session,将root用户加入到syslog组中,执行。
当然,是不是/etc/logrotate.conf 中那一段,就是为了确保每次重启,syslog和syslog的parent都被重刷成syslog的用户作为owner,我没有进一步试。
另外,即使,你将syslog,设置到别的目录,别的名字,也没有用的,操作系统还是会将之权限刷回去(重启之后)。

这篇关于syslog定期rotate和限制其size的配置方法ubuntu上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/472585

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri