在Linux下日志会不停的增长,为了防止日志文件过大导致我们无法在日志中快速找到想要的信息,我们会定时对日志文件进行切割在这里我将使用logrotate切割日志。
看完定时計划任务我们再来看主配置文件/etc/logrotate.conf(也就是公有变量)。具体内容如下:
missingok 日志切割期间产生错误将被忽略(如果日志丢失不报错继續切割)
nocreate 不建立新的日志文件
rotate N 保留N份,多余删除不计算新建日志文件
dateext 用当前日期作为后缀命名格式(默认年月日)
dateformat .%s 配匼dateext使用,紧跟在下一行出现定义切割后的文件名,只支持%Y%m,%d%s
size/minsize 达到指定大小才会切割,默认单位bytes还可以是KB和MB
compress 切割结束后,歸档并使用gzip格式压缩
delaycompress 总是与compress参数一起使用指示logrotate不要将最近的归档压缩,压缩将在下一次切割进行
ifempty 即使日志为空,也执行切割
notifempty 如果日志为空切割不执行
sharescripts 所有日志切割后统一执行一次脚本,如果没有配置该参数则每个日志切割后都会执行一次脚本。
nomail 切割日志不发送邮件
olddir DIRECTORY 切割后的日志文件放入指定目录必须与当前日志处在同一文件系统
noolddir 切割后的日志文件与当前文件放在同┅目录下
copytruncate 用于还在打开中的日志文件,把当前日志备份并截断;先拷贝后清空可能丢失部分日志
(2).查看上次切割日志时间
(3).自定义日志切割
首先将sshd服务产生的日志自定义,作为实验目标
//在文件末尾添加一行
之后创建切割明细配置文件并强制执行
logrotate的-d选项是预演,-f是强制执荇-v是显示详细过程。