• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

分享一个shell切割脚本

分享一个很多日志切割脚本。帮助切割和管理稍微负载的日志文件。

 

#!/bin/bash

#Jeson

#Email:chenjie@iaskjob.com

NGINX_LOG=(ap_iaskjob_cn asverify_iaskjob_cn demo_iaskjob_cn iaskjob-static flow_iaskjob_cn tools_iaskjob_cn asmng_iaskjob_cn auth_iaskjob_cn dev_iaskjob_cn iaskjob-web sp_iaskjob_cn verify_iaskjob_cn error)

NGINX_ACCESS_PATH=/opt/logs/nginx/access

NGINX_ERROR_PATH=/opt/logs/nginx/error

Ydate=`date -d yesterday +%Y%m%d`

Adate=`date -d "2 days ago" +%Y%m%d`

Nginxpid=/opt/app/nginx/logs/nginx.pid

# rename log

for logname in${NGINX_LOG[@]}

do

    if [${logname}=='error'];then

        ERROR_FILE=${NGINX_ERROR_PATH}/${logname}.log

        mv-f${ERROR_FILE}${ERROR_FILE}-${Ydate}

        touch${ERROR_FILE}

        rm${NGINX_ERROR_PATH}/${logname}.log-${Adate}

    else

        ACCESS_FILE=${NGINX_ACCESS_PATH}/${logname}.log

        BACK_ACCESS_FILE=${NGINX_ACCESS_PATH}/${logname}

        if [!-d${BACK_ACCESS_FILE}];then

            mkdir${BACK_ACCESS_FILE}

        fi

        mv-f  ${ACCESS_FILE}${BACK_ACCESS_FILE}/${Ydate}.log

        touch${ACCESS_FILE}

        rm${BACK_ACCESS_FILE}/${Adate}.log

    fi

done

## restart nginx

[!-f$Nginxpid] || kill-USR1$(cat $Nginxpid)

分享一个shell切割脚本

Pingbacks已打开。

引用地址

暂无评论

发表评论