Linux记录15-4.40 日志分割

总结:

 

 

为什么要做日志切割?

       在目录下/data/logs/ 里面有很多访问日志。

       用什么查看相当大存储量的访问日志呢?  cat ?    vi  ?    less?  tail?  

        cat 会不停刷,vi 打开估计都要几分钟。

       也要避免日志把磁盘写满~

       当日志文件十分大时,会对查看日志带来极大麻烦,因此需要分割日志。通常按时间来切分成不同的日志。

 

有一个日志切割的软件  logrotate   , 配置文件在 /etc/logrotate.conf 

 

cat 一下  logrotate软件的配置文件

weekly   表示按周切割

rotate  4  表示只保留4个文件 (第5个产生的时候就回去覆盖前面的了)

create   旧的文件改名生产一个新的文件

dateext   使用按日期的后缀的日志

compress   是否要压缩(这里#注释了表示不要压缩)

include  包含了 指定文件夹下的子配置文件

 

/var/log/wtmp { .....} 表示针对放在wtmp这个文件夹的文件的一些配置

monthly    ——   按月切割

create  0664  root   utmp  ——  创建新文件的  权限   属主  属组

minsize  1M   ——  文件最小切割大小1M ,就是最少要达到1M时候才切割,太小不切割

rotate  1  —— 只保留一个

 

针对btmp文件夹的内的规则

missingok      忽略错误

 

我们可以在这里定义一些nginx日志文件的规则,来方便去切割这个日志

其实yum安装的nginx情况下,在 /etc/logrotate.d 已经有一些nginx日志切割的策略了。

daily                     每天

missingok           忽略错误

rotate      52        保留52个

compress           压缩

delaycompress        延迟压缩(这里延后一天压缩,比如今天才开始压缩前天的日志)

notifempty                忽略空文件,空文件不切割

create 640 nginx adm   创建回滚文件的权限   属主  属组  

 

 

if XXX 是当 /var/XXX文件存在的时候,就执行下面的KILL命令。这个目的是让nginx重新载入配置文件,这样可以生成新的日志。比如说 access.log 新建成access.log.1以后,如果没有重新建access.log  那么服务将无法写入文件。

 

 

看一下nginx自带的log文件目录

 

这里因为把路径给改了,其实是可以写成2部分

 

怎么写成2部分呢?

 

 

执行新的日志分割

logrotate  -v  / etc / logrotate.d / nginx     

-v 是为了可视化,知道执行了哪些步骤(因为有时候这一步意外不执行)

通过可视化,可以看到有3个目录是没有切割的

 

可以具体的ls看一下

如果切割成功的话,应该会有 2019-01-09 这样的时间后缀,这里明显没有,其实没切割原因是正确的,因为时间不符合要求

 

如果想强制切割的话 –f   ,logrotate  -vf  / etc / logrotate.d / nginx

ls 看一下强制切割后的日志,已经带有时间后缀了,切割成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值