美文网首页
适用于AMH面板的日志分割代码

适用于AMH面板的日志分割代码

作者: 豆豆_巴拉巴拉 | 来源:发表于2017-08-05 00:52 被阅读10次

    豆豆原创代码分享:

    适用于AMH面板的日志分割代码

    1、登录SSH工具,创建cut_logs.sh文件,命令:

    vi /root/cut_logs.sh

    2、粘贴下面代码到cut_logs.sh,并保存

    #!/bin/bash

    #function:cut nginx log files shell

    #日志路径,lnmp根据自己的环境命名修改

    log_files_path="/home/wwwroot/lnmp/logs/"

    #下面不用动

    log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")

    #原日志命名,比如hao123.log,就填hao123

    log_files_name=(hao123 access)

    #下面nginx-generic-1.6,根据自己的版本修改

    nginx_sbin="/usr/local/nginx-generic-1.6/sbin/nginx"

    #保留30天日志,30天之前的清空

    save_days=30

    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-generic-1.6,根据自己的版本修改

    kill -USR1 $(cat /usr/local/nginx-generic-1.6/logs/nginx.pid)

    3、为这个脚本加执行权限,命令:

    chmod +x /root/cut_logs.sh

    4、crontab -e 添加执行时间

    00 00 * * * /bin/bash /root/cut_logs.sh ,添加好保存。

    意思是,每天凌晨零点执行脚本,分割日志,前一天的将会移动到另一个文件夹重新命名。

    crontab -l 可以查看定时任务。

    这样就可以了。

    相关文章

      网友评论

          本文标题:适用于AMH面板的日志分割代码

          本文链接:https://www.haomeiwen.com/subject/oeqilxtx.html