zoukankan      html  css  js  c++  java
  • nginx日志文件切割

    使用脚本对nginx日志文件进行按天切割

    #!/bin/bash
    LOGS_PATH=/usr/local/nginx/logs
    YESTERDAY=$(date -d -1day +%Y%m%d)
    cd ${LOGS_PATH}
    #按天切割日志
    mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
    #向 Nginx 主进程发送 USR1 信号,重新打开日志文件,否则会继续往mv后的文件写内容,导致切割失败
    kill -USR1 `ps axu | grep nginx| grep master | awk '{print $2}'`
    #压缩
    gzip -9 ${LOGS_PATH}/access_${YESTERDAY}.log
    #删除7天前的日志
    find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f
    exit 0
    

    然后配置crontab进行每天切割使用

    使用logrotate对nginx日志进行切割

    [root@iZ25b31bdp0Z gitlab-8.5.7-0]# cat /etc/logrotate.d/nginx 
    /var/log/nginx/*log {
        create 0644 nginx nginx
        daily         //可以选择weekly,monthly,切割周期
        rotate 10    //一次存储10个文件,超出数量最早生成的文件会被删除
        missingok    //忽略错误
        notifempty   //空文件不存储
        compress    //启动压缩
        sharedscripts
        postrotate
            /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
        endscript  
    //其它命令执行完成后,再执行postrotate与endscript中间的命令,两者是固定格式
    }
    
  • 相关阅读:
    mysql优化四(SQL优化)
    mysql优化三(索引)
    mysql优化二(优化数据库的设计)
    mysql优化一(优化方式)
    ES6——Thunk函数
    JavaScript例子
    fetch使用
    ES6—Generator的next()方法传参
    ES6——Generator函数抛出异常
    JavaScript对象添加属性和方法
  • 原文地址:https://www.cnblogs.com/marility/p/7278503.html
Copyright © 2011-2022 走看看