美文网首页
ubuntu下用logrotate工具分割日志

ubuntu下用logrotate工具分割日志

作者: 海里的沙丁鱼 | 来源:发表于2018-01-15 18:54 被阅读0次

    当项目时间越来越久时,项目日志就会越来越大。前不久笔者的一个项目log日志就达到6000M,想打开文件查看,加载5分钟过去了都没有打开。因此,决定使用logratate工具进行分割日志。

    logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。

    一 logrotate的配置文件

    /etc/logrotate.conf/etc/logrotate.d/,其中
    logrotate.conf 是主要的参数文件,logrotate.d 是一个目录,该目录里面的所有数据都会被主动读入/etc/logrotate.conf 当中来进行。另外,在/etc/logrotate.d/ 里面的文件中,如果没有指定一些详细的设置,则以 /etc/logrotate.conf 的规定来指定为默认值。

    二 创建配置文件

    cd /etc/logrotate.d/
    cp xxx newxxx
    vi newxxx
    

    就是到logrotate.d文件夹下,复制一份先有的,改一下。需要说明一下里面的配置属性:
    下面是一份案例newxxx:

    /var/test/storage/logs/laravel.log {
        su banboo banboo 
        size=30M
        missingok
        rotate 31
        compress
        delaycompress
        notifempty
        copytruncate
        dateext
    }
    
    

    1.su banboo banboosu <user> <group >
    2.missingok表示如果找不到log文件也没OK
    3.compress 通过gzip 压缩转储以后的日志
    4.nocompress 不需要压缩时,用这个参数
    5.rotate 31 表示保留31天的备份文件
    6.notifempty 表示如果log文件是空的,就不进行rotate
    7.copytruncate 表示先复制log文件的内容,然后再清空
    8.dateext表示备份的日志文件后缀格式为YYYYMMDD

    三 生效

    执行下列命令

    sudo /usr/sbin/logrotate -f /etc/logrotate.conf/newxxx
    

    执行后,将出现备份文件,例如:laravel.log-20170517

    相关文章

      网友评论

          本文标题:ubuntu下用logrotate工具分割日志

          本文链接:https://www.haomeiwen.com/subject/oavdoxtx.html