zoukankan      html  css  js  c++  java
  • Nginx日志切割脚本

    脚本主要参数:

    #设置nginx日志文件目录路径
    log_files_path="/home/wwwlogs/"
    #日志文件将会存放到/home/wwwlogs/年/月/日志文件名_年月日.log
    log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
    #设置要切割的日志的名字,如果日志目录下面的日志文件名为vpser.net.log,则填写vpser.net,每个日志名用空格分隔
    log_files_name=(access vpser.net licess)
    #设置nginx文件的位置
    nginx_sbin="/usr/local/nginx/sbin/nginx"
    #设置日志保存的时间,天
    save_days=30

    #!/bin/bash
    #function:cut nginx log files for lnmp v0.5 and v0.6
    #author: http://lnmp.org
    
    #set the path to nginx log files
    log_files_path="/home/wwwlogs/"
    log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
    #set nginx log files you want to cut
    log_files_name=(access vpser licess)
    #set the path to nginx.
    nginx_sbin="/usr/local/nginx/sbin/nginx"
    #Set how long you want to save
    save_days=30
    
    ############################################
    #Please do not modify the following script #
    ############################################
    mkdir -p $log_files_dir
    
    log_files_num=${#log_files_name[@]}
    
    #cut nginx log files
    for((i=0;i<$log_files_num;i++));do
    mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
    done
    
    #delete 30 days ago nginx log files
    find $log_files_path -mtime +$save_days -exec rm -rf {} ; 
    
    $nginx_sbin -s reload
    

    nginx日志切割脚本下载到/root/下面。再添加自动执行,执行:crontab -e

    输入:00 00 * * * /bin/bash /root/cut_nginx_logs.sh 每天0点整开始切割脚本。

  • 相关阅读:
    继承性03
    继承性
    Arrays与Math类
    Static关键字
    random模块,time模块,os模块,sys模块
    re模块
    冒泡排序、递归、二分查找
    内置函数
    生成器和生成器表达式
    迭代器
  • 原文地址:https://www.cnblogs.com/keta/p/9430650.html
Copyright © 2011-2022 走看看