nginx日志切割脚本

66 篇文章 0 订阅
30 篇文章 2 订阅

nginx访问日志的切割,每十分钟切割一次,放到定时任务中

*/10 * * * * sh nginx_log_cut.sh
#!/bin/sh
# Function:For cut nginx'log every 10 min
# script_name: nginx_log_cut.sh

. /etc/profile
function move_log()
{
        local log=$1
        local date=$2
        if [ -f $log ]
        then
                if [ -s $log ]

                then
                        /bin/mv $log /data/logs/backup/nginx/`echo $log|awk -F'nginx/' '{print $2}'`.$date
                fi
        fi
}

NGINX_BIN="/usr/local/nginx/sbin/nginx"
REOPEN="$NGINX_BIN -s reopen"
NGINX_CONF=`ls /usr/local/nginx/conf/conf.d/ | grep .conf$`
for nginx_conf in $NGINX_CONF
do
LOGS="`/bin/cat /usr/local/nginx/conf/conf.d/$nginx_conf | /bin/grep -e "access_log\s*\/data\/log" | /bin/grep -v '^\s*#' |/bin/sed -e 's/.$//' -e 's/^\s*access_log\
s*//g' | /usr/bin/awk '{print $1}'| /bin/sed 's/;//g' | /bin/sort -u`"
    echo $LOGS
    DATE=`/bin/date '+%Y%m%d%H%M%S'`
    for log_file in `/bin/echo $LOGS`
    do
            move_log $log_file $DATE
    done
$REOPEN >/dev/null 2>&1
done

find /data/logs/backup/nginx  -mtime +30 -type f |xargs rm -f
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值