Linux配置logrotate

环境

系统:CentOS 7.4

配置logrotate

  • 添加配置

    # vim /etc/logrotate.d/nginx
    /data/logs/nginx/*.log {
            daily
            rotate 365
            dateext
            dateyesterday
            olddir /data/logs/nginx/backup/
            sharedscripts
            postrotate
                    /bin/kill -USR1 `cat /var/run/nginx.pid`
            endscript
    }
    
  • 测试配置

    # logrotate -d /etc/logrotate.d/nginx
    

此时,logrotate每日的执行时间是不固定的。
原因:logrotate使用crontab执行,crontab daily任务的执行时间由anacrontab控制,anacrontab默认在一个时间区间执行,不固定。

  • 配置定时执行(可选)
    # crontab -e
    0 0 * * * /usr/sbin/logrotate /etc/logrotate.d/nginx >> /tmp/logrotate-nginx.log 2>&1
    

你可能感兴趣的:(Linux配置logrotate)