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

👑👑👑结束语👑👑👑

相关推荐
虹科网络安全2 分钟前
艾体宝洞察 | 利用“隐形字符”的钓鱼邮件:传统防御为何失效,AI安全意识培训如何补上最后一道防线
运维·网络·安全
石像鬼₧魂石21 分钟前
Kali Linux 网络端口深度扫描
linux·运维·网络
alengan24 分钟前
linux上面写python3日志服务器
linux·运维·服务器
yBmZlQzJ1 小时前
免费内网穿透-端口转发配置介绍
运维·经验分享·docker·容器·1024程序员节
JH30731 小时前
docker 新手入门:10分钟搞定基础使用
运维·docker·容器
Rose sait1 小时前
【环境配置】Linux配置虚拟环境pytorch
linux·人工智能·python
小卒过河01042 小时前
使用apache nifi 从数据库文件表路径拉取远程文件至远程服务器目的地址
运维·服务器·数据库
土星云SaturnCloud2 小时前
液冷“内卷”:在局部优化与系统重构之间,寻找第三条路
服务器·人工智能·ai·计算机外设
Empty_7772 小时前
DevOps理念
运维·devops