美文网首页
使用logrotate进行日志轮替

使用logrotate进行日志轮替

作者: w也不知道 | 来源:发表于2018-02-06 14:54 被阅读0次

      logrotate是一个日志文件管理工具。用来把旧文件轮转、压缩、删除,并且创建新的日志文件。我们可以根据日志文件的大小、天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的。

    一、配置选项说明

    composer(nocomposer):是否压缩转存后的就日志
    create(nocreate) [mode, user, group]:是否建立新的日志文件
    daily(weekly,monthly):日志的轮替周期
    missingok:轮替期间,任何错误将被忽略
    mail [address]:把转存的日志文件发送到指定邮箱
    datetext:采用时间命名日志文件(wtmp-20160909)
    size :日志文件到达指定大小时才开始轮替,忽略轮替时间
    sharedscripts:后面的命令只执行一次
    preroteate(postrotate):轮替前(后)执行的命令
    endscript:放到pretotate(postrotate)后面

    二、示例说明

    logrotate –vf /etc/logrotate.conf:强制轮替日志
    logrotate -df /etc/logrotate.conf:调试模式,不轮替日志

    /var/log/alert.log {
            weekly
            rotate 4
    
            sharedscripts
            prerotate
                /usr/bin/chattr -a /var/log/alert.log
            endscript
    
            sharedscripts
            postrotate
                /usr/bin/chattr +a /var/log/alert.log
            endscript
    }
    

    nginx的日志轮替模板

    /usr/local/nginx/log/nginx/*log {
        create 0644 nginx nginx
        monthly
        minsize 100M
        rotate 4
        missingok
        dateext
        compress
    
        sharedscripts
        postrotate
            /bin/kill -USR1 `cat /usr/local/nginx/log/nginx.pid 2>/dev/null` 2>/dev/null || true
        endscript
    }
    

    相关文章

      网友评论

          本文标题:使用logrotate进行日志轮替

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