zoukankan      html  css  js  c++  java
  • logrotate

    1、logrotate是什么
     
    logrotate自动对日志文件进行轮询,压缩、删除、和发送邮件。每个日志文件可以以每天、每个星期、每月的周期进行处理。通常的,logrotate设置成了定时任务每日执行一次。通俗的说,可以按照自己的需求对logrotate进行设置,如何处理一个文件,如我们经常用的nginx的访问日志,每日做一个切割
     
    2、配置文件
     
    /etc/logrotate.conf
    /etc/logrotate.d/
    /etc/logrotate.conf会包含/etc/logrotate.d/目录下的配置文件
     
    3、常用命令
     
    logrotate /etc/logrotate.conf    用配置文件的话,不能马上有效,直接使用命令马上可以生效
    logrotate -f  /etc/logrotate.conf   强制执行
    logrotate /etc/logrotate.conf -s ll.txt  -s 此次执行了轮询的文件输出到指定的文件,默认为/var/lib/logrotate/logrotate.status
     
    4、常用配置:
     
    compress:对轮询出来的日志文件进行压缩,默认我gzip
     
    nocompress:对轮询出来的日志文件不进行压缩
     
    compresscmd:指定使用什么方式进行压缩,默认为gzip。指定的格式为:compresscmd /usr/bin/bzip2
     
    compressext: 指定压缩文件的后缀,如:compressext.bz2,默认随压缩方式的
     
    uncompresscmd:解压方式,默认为gunzip   
     
    copy:日志轮询的时候,对原日志文件进行copy,不改变原文件,相当于对原文件进行了一个快照,此选项使用的时候,create不生效
     
    nocopy:对原日志文件不进行拷贝,此选项会覆盖copy选项
     
    create mode owner group, create owner group:日志轮询后会创建一个新的原来名字的文件,可以设置权限和所属者或者所属组,如create 755 root lile
     
    nocreate:轮询后不创建,也就是把要轮询的日志轮询后不会产生一个原来名字的文件,此选项会覆盖create
     
    olddir directory:指定轮询出来的日志文件存放的目录
     
    noolddir:轮询出来的日志文件放在与原日志文件一样的目录,此选项会覆盖olddir
     
    createolddir mode owner group:当指定轮询日志存放路径的时候,若路径不存在,则创建
     
    nocreateolddir: 当指定轮询日志存放路径的时候,若路径不存在,不创建,此选项会覆盖createolddir
     
    hourly:  日志每小时做一次轮询
     
    daily:     日志每天做一次轮询
     
    weekly: 日志每个星期做一次轮询
     
    monthly:日志每月做一次轮询         
        
    yearly:日志每年做一次轮询
     
    dateext:轮询出的日志名字后加上日期
     
    nodateext: 轮询出的日志名字不使用日期的方式,此选项会覆盖dateext
     
    dateformat format_string:日期的格式
     
    dateyesterday:今天做的轮询的话,文件名的日期写昨天的
     
    delaycompress:新的轮询日志不会马上压缩,等到下一个新的轮询日志出现的时候才做压缩,要与compress参数一起使用
     
    nodelaycompress:不会延期压缩,轮询日志后会马上进行压缩,要与compress参数一起使用;此选项会覆盖delaycompress选项   
     
    ifempty:即使日志文件为空,也要做轮询,默认为ifempty
     
    notifempty:日志文件为空的话,不做轮询,会覆盖ifempty参数
     
    missingok:如果要做日志轮询的日志文件不存在,那么忽略,接着做其他的
     
    nomissingok:如果要做日志轮询的日志文件不存在,那么不会继续执行后面的,而会返回错误,默认为nomissing
     
    maxage count:删除指定count天前的日志,如果配置了mail的话,删除的日志将会发送到指定的邮箱
     
    start count:如果不使用dateext,轮询出的日志文件不会使用日期作为后缀,而会使用数字,star count 可以设置这个数字的开始至,如:start 9,那么就会以9开始,如log_file.9
     
    rotate count:轮询文件的个数,当个数满了之后,会删除最老的
     
    size size:只有当原日志文件的大小达到指定的size时,才做轮询,单位自定义 
        
    postrotate/endscript:在日志被轮转后执行             
     
    prerotate/endscript:在日志被轮转前并且有需要轮转才执行         
     
    sharedscripts:当匹配文件夹里时,时间久后,会有很多以原文件加日期命名的轮询日志,而我只需要最匹配最原始的文件做轮询,这个选项就是为了做这个设置;如果没有的话,被轮询出来的日志再下一次轮询时也会被匹配到也做轮询
     
    例:
     
    nginx访问日志每天做日志分割
     
    /var/log/nginx/*log {
        create 0644 nginx nginx
        daily
        rotate 10
        missingok
        notifempty
        compress
        sharedscripts
        postrotate
            /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
        endscript
    }
    结果为:
     
     
  • 相关阅读:
    hbase基础知识一
    启动hadoop报does not contain a valid host:port authority:node2_1:9000
    linux命令之------部分细节点
    linux命令之------which命令/cp命令/Head及tail命令/grep命令/pwd命令/cd命令/df命令/mkdir命令/mount及umount命令/ls命令/history命令/ifconfig命令/ping命令/useradd命令/命令passwd/kill命令/su命令/clear命令/ssh命令/tar解压缩/远程拷贝scp
    【移动端debug-3】部分安卓机型不触发touchend事件的解决方案
    图解用HTML5的popstate如何玩转浏览器历史记录
    重新出发:我的2015总结和2016计划
    图解Redux三大核心的关系
    一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
    React.js学习笔记(一):组件协同与mixin
  • 原文地址:https://www.cnblogs.com/lemon-le/p/8476648.html
Copyright © 2011-2022 走看看