logrotate命令学习

一    应用场景

作用:日志'切割'、日志'转储'、日志'防爆'

二    Centos7中logrotate是如何执行的

①  /etc/cron.daily/下的脚本是在哪里设置的定时执行

 anacron理解

[1]  /etc/anacrontab文件里面'只定义'了cron.daily、cron.weekly与cron.monthly,而'没有'定义cron.hourly

[2]  因为cron.daily、cron.weekly与cron.monthly其实是'由cron.hourly调'起来的

[3]  RANDOM_DELAY=45                 这个是'随机的延迟时间',表示最大45分钟    

[4]  START_HOURS_RANGE=3-22          cron.daily会在'3:22+(5,45)'这个时间段执行                              

②  logrotate

解读:'Centos7.7'是定时任务是'每日触发'

三   logrotate二进制

①    配置文件

################  "logrotate 的默认值" ################ 

weekly          默认'每一周执行一次'rotate轮转工作

rotate 4        保留'多少个'日志文件(轮转几次).默认保留四个.就是指定日志文件删除之前轮转的次数,0 指'没有备份'

create          自动创建'新'的日志文件,新的日志文件具有和原来的文件'相同的权限';因为日志被改名,因此要创建一个新的来继续存储之前的日志

dateext         这个参数很重要,就是切割后的日志文件'以当前日期为格式结尾',如xxx.log-20131216这样,如果注释掉,切割出来是按数字递增,即前面说的 xxx.log-1这种格式

compress        是否通过'gzip压缩'转储以后的日志文件.如xxx.log-20131216.gz;如果'不需要'压缩,注释掉就行

include /etc/logrotate.d  将 /etc/logrotate.d/ 目录中的'所有文件'都加载进来

/var/log/wtmp {                  //仅针对 /var/log/wtmp 所设定的'规则'
monthly                          //'每月一次'切割,取代默认的一周
minsize 1M                       //文件大小'超过 1M' 后才会切割
create 0664 root utmp            //指定'新建的日志文件'权限以及所属用户和组
rotate 1                         //只'保留一个'日志.
}                   

备注:wtmp 可记录'用户登录系统'及'系统重启'的时间
日志转储的'配置文件'命名规则一般和'程序命名'相同

②    logrotate命令的可选参数

③    原理补充

[1]、配置文件里一定要配置'rotate 文件数目'这个参数,如果'不配置默认是0个',也就是'只允许'存在一份日志,刚切分出来的日志会马上被删除。

[2]、执行logrotate命令最好'加-f'参数,不然有时候配置文件修改的内容'不生效'

[3]、很多程序的会用到logrotate滚动日志,'比如nginx',它们安装后,会在/etc/logrotate.d这个目录下'增加自己'的logrotate的配置文件
需求:如果'等不及cron自动执行'日志轮转,想'手动强制'切割日志,需要'加-f'参数,不过'正式执行前'最好通过'debug选项'来验证一下

/usr/sbin/logrotate -d /etc/logrotate.d/nginx

/usr/sbin/logrotate -f /etc/logrotate.d/nginx

④   案例

echo -e "/log/*.log\n { size 500M\\n copytruncate\\n rotate 10\\n  maxage 100\\n }\\n" >  /etc/logrotate.d/my-logrotate.conf

python和shell脚本进行日志切割

四    配置指令

①   压缩选项

②    日志轮转处理方式

logrotate机制和原理

③    日志轮转周期配置

④    日志不存在的处理方式

⑤    轮转后日志扩展名配置

⑥    轮转日志大小条件配置

⑦    轮转后保存日志数量和起始序号配置

⑧    轮转日志处理中邮件配置

⑨    轮转日志处理中脚本配置  重点

⑩  日志为空时的处理方式

⑪    旧日志删除配置 

shred命令

-u, --remove 覆盖后'截断'并'删除'文件

⑫    额外增加指定文件或目录名的配置

⑬   使用指定user和group轮转日志

五    logrotate不生效

父目录有不安全的权限

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值