zoukankan      html  css  js  c++  java
  • nginx日志切割和日志清理

    ##########################日志切割################################
    1、上传脚本到/usr/local/nginx/logs/下 
    2、并附执行权限
    chmod +x cut_nginx_log.sh


    3、编写定时任务  每天0点0分 执行cut_nginx_log.sh脚本
    crontab -e
    0 0 * * *  root /usr/local/nginx/logs/cut_nginx_log.sh
    或者 
    vim /etc/crontab
    0 0 * * *  root /usr/local/nginx/logs/cut_nginx_log.sh

    cat   cut_nginx_log.sh

    #!/bin/bash
    #日志存放路径
    LOGS_PATH=/usr/local/nginx/logs
    #获取昨天的时间
    YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
    #nginx的PID路径
    NGINX_PID=/usr/local/nginx/logs/nginx.pid
    #把当前的access.log/error.log重命名为access.yesterday.log/error.yesterday.log
    mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access.${YESTERDAY}.log
    mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error.${YESTERDAY}.log
    # 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
    kill -USR1 $(cat ${NGINX_PID})


    ###########################日志清理#################################


    1、上传脚本到/usr/local/nginx/logs/下 
    2、并附执行权限
    chmod +x rm_nginx_logfile.sh

    3、编写定时任务  每天0点0分 rm_nginx_logfile.sh脚本
    crontab -e
    0 0 * * *  root /usr/local/nginx/logs/rm_nginx_logfile.sh
    或者 
    vim /etc/crontab
    0 0 * * *  root /usr/local/nginx/logs/rm_nginx_logfile.sh

    cat   rm_nginx_logfile.sh

    #!/bin/bash
    #日志所在路径
    LOGS_PATH=/usr/local/nginx/logs
    #设置保留时间  单位(天)
    SAVE_TIME=30
    #执行最终的命令 
    #查找 修改日志在30天前的同时以log结尾的文件然后删除
    #如果没有-name选项过30之后脚本会被删除掉
    find ${LOGS_PATH}/ -mtime +${SAVE_TIME} -name *.log |xargs rm -rf {}

  • 相关阅读:
    Basic Calculator II
    理解与模拟一个简单servlet容器
    括号字符串有效性验证
    理解与模拟一个简单web服务器
    Tomcat日志输出在linux和windows差异
    SqlCommand执行带GO的SQL脚本文件
    《第一行代码》添加百分比布局库依赖问题
    final 和 static之间的区别和联系
    oracle DB 使用注意点小结
    方法重载(method overloading)
  • 原文地址:https://www.cnblogs.com/ExMan/p/11151136.html
Copyright © 2011-2022 走看看