linux中通过logrotate进行日志切割

🍁博主简介

🏅云计算领域优质创作者

🏅2022年CSDN新星计划python赛道第一名

🏅2022年CSDN原力计划优质作者

🏅阿里云ACE认证高级工程师

🏅阿里云开发者社区专家博主

💊交流社区CSDN云计算交流社区欢迎您的加入!

目录

1、按天日志切割

[1.1 测试配置是否正确](#1.1 测试配置是否正确)

[1.2 启动配置生效](#1.2 启动配置生效)

2、按大小切割日志

[2.1 测试配置是否正确](#2.1 测试配置是否正确)

[2.2 启动配置生效](#2.2 启动配置生效)


1、按天日志切割

确保你的系统已经安装了 logrotate 工具,若未安装,则执行如下命令安装

bash 复制代码
apt update
apt install -y logrotate

在/etc/logrotate.d/目录下创建一个配置文件,文件名可以自定义,文件内容如下:

bash 复制代码
# /etc/logrotate.d/cutofflog.conf
/home/work/logs/applogs/pocserver.log { 	#实际日志文件路径  
    daily               	# 每天切割  
    missingok           	# 如果日志文件不存在,不报错  
    notifempty          	# 如果日志文件为空,不进行切割  
    create 0640 root root  	# 切割后创建新日志文件,权限为0640,属于user和group  
    rotate 31           	# 保留31个旧的日志文件,即大约一个月的日志  
    delaycompress       	# 延迟压缩,直到下一次切割  
    compress            	# 使用gzip压缩  
    dateext             	# 使用日期作为扩展名  
    dateformat -%Y%m%d 		# 日期格式,这里是年月日  
    sharedscripts       	# 如果有多个日志文件,则只执行一次脚本命令  
    postrotate          	# 在切割后执行的命令(可选)  
    # service your-service reload 或者其他你需要的命令  
    endscript  
}

logrotate 每天会自动运行,并按照上述配置切割、压缩日志文件。切割后的文件名会带有日期扩展名,例如 logfile.log-20230425.gz

1.1 测试配置是否正确

bash 复制代码
#-d 选项表示调试模式,它会显示 logrotate 将要执行的操作,但不会真正执行切割和压缩
logrotate -d /etc/logrotate.d/cutofflog.conf

1.2 启动配置生效

bash 复制代码
# 不加选项会真正执行切割和压缩
logrotate /etc/logrotate.d/cutofflog.conf

2、按大小切割日志

确保你的系统已经安装了 logrotate 工具,若未安装,则执行如下命令安装

bash 复制代码
apt update
apt install -y logrotate

在/etc/logrotate.d/目录下创建一个配置文件,文件名可以自定义,文件内容如下:

bash 复制代码
# /etc/logrotate.d/cutofflog.conf  
/home/work/logs/applogs/pocserver.log {  
    size 10M       # 当日志文件达到10MB时切割
    missingok      # 如果日志文件不存在,不报错
    notifempty     # 如果日志文件为空,不进行切割
    create 0640 root root  # 切割后创建新日志文件,权限为0640,属于user和group
    compress       # 使用gzip压缩
    delaycompress  # 延迟压缩,和下一份日志一起压缩
    dateext        # 使用日期作为扩展名
    dateformat -%Y%m%d # 日期格式,这里是年月日
    sharedscripts  # 如果有多个日志文件,则只执行一次脚本命令
    postrotate      # 在切割后执行的命令(可选)
        # 这里可以放置重启服务或者重新加载配置的命令,例如:
        # service your-service reload
    endscript  
}

logrotate 每天会自动运行,并按照上述配置切割、压缩日志文件。

2.1 测试配置是否正确

bash 复制代码
#-d 选项表示调试模式,它会显示 logrotate 将要执行的操作,但不会真正执行切割和压缩
logrotate -d /etc/logrotate.d/cutofflog.conf

2.2 启动配置生效

bash 复制代码
# 不加选项会真正执行切割和压缩
logrotate /etc/logrotate.d/cutofflog.conf

👑👑👑结束语👑👑👑

相关推荐
AI慧聚堂3 分钟前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
不爱学英文的码字机器6 分钟前
[Linux] Shell 命令及运行原理
linux·运维·服务器
cdut_suye17 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
qq_4336184421 分钟前
shell 编程(三)
linux·运维·服务器
苹果醋329 分钟前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
两张不够花31 分钟前
Jenkins 持续集成部署
运维·jenkins
Tlzns43 分钟前
Linux网络——UDP的运用
linux·网络·udp
码农土豆1 小时前
PaddlePaddle飞桨Linux系统Docker版安装
linux·docker·paddlepaddle
Hacker_xingchen1 小时前
天融信Linux系统安全问题
linux·运维·系统安全
丘狸尾1 小时前
[cisco 模拟器] ftp服务器配置
android·运维·服务器