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

    1.编写日志脚本

    #!/bin/bash
    #这个脚本需在每天的00:00 运行

    #Nginx日志文件的存放路径
    logs_path="/usr/local/nginx/logs"

    #创建文件夹
    mkdir -p ${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/

    mv ${logs_path}/access.log ${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d")
    kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

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

    4、编写定时任务  每天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

     或者输入命令 vi /etc/crontab

    文件末尾添加配置(14点24分启动)

    24 14 * * * root /usr/local/nginx/logs/cut_nginx_log.sh


    ###########################日志清理(未测试)#################################


    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 {}

  • 相关阅读:
    git rebase解决合并冲突
    Google GMS介绍
    MTK Android修改System分区
    Adb adb push (remote write failed: No space left on device)
    Android Visibility控件显示和隐藏
    MTK Android中设置默认时区
    初级Oracle和SQL学习者的学习笔记。韩顺平-玩转oracle。
    网络知识从零开始一:私有地址。
    oracle中有关用户、角色的一些概念。
    oracle中的一些函数笔记
  • 原文地址:https://www.cnblogs.com/hejj-bk/p/11725309.html
Copyright © 2011-2022 走看看