• 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点整开始切割脚本。

  • 相关阅读:
    对万网主机全部使用独立Ip的猜疑
    对windows8在PC上的前景不看好
    漂浮广告代码3
    <!DOCTYPE> 标签一点点问题
    wordpress模板中用到的条件判断语句例1
    不错的漂浮广告代码2
    autoRST Automated TCP RST Exploit
    菜单项说明以提示弹出
    JIRA安装和破解
    谈组装对象以及对象生存期管理
  • 原文地址:https://www.cnblogs.com/keta/p/9430650.html
Copyright © 2020-2023  润新知