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

👑👑👑结束语👑👑👑

相关推荐
qinyia34 分钟前
Wisdom SSH 是一款创新性工具,通过集成 AI 助手,为服务器性能优化带来极大便利。
服务器·人工智能·ssh
MilesShi2 小时前
从 scheduler_tick 到上下文切换:深入解析 Linux 内核的 TIF_NEED_RESCHED 标志设置流程
linux·运维·单片机
方渐鸿5 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
晓衣5 小时前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法
我爱云计算5 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
明明跟你说过5 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
2301_794333917 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
打码人的日常分享7 小时前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
荣光波比8 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
武文斌778 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件