ngixn日志合并脚本

#!/bin/bash
#定义变量
#定时时间变量
DAY=$(date -d "-1 days" +%Y%m%d)
#定义未切割前的Nginx目录
NGINX_LOG_PATH="/data/vim26.com/backup/nginx"
#定义每个主机当天保存的目录
PATH_100="${NGINX_LOG_PATH}/192.168.56.100/${DAY}"
PATH_101="${NGINX_LOG_PATH}/192.168.56.101/${DAY}"
PATH_102="${NGINX_LOG_PATH}/192.168.56.102/${DAY}"
PATH_103="${NGINX_LOG_PATH}/192.168.56.103/${DAY}"
#定义日志列表
LOG_LIST="${NGINX_LOG_PATH}/list.txt"
#定义合并后的目录名
ALL_LOG_PATH="${NGINX_LOG_PATH}/all_log/${DAY}"

#创建合并目录    
mkdir -p ${ALL_LOG_PATH}

#循环读取日志列表
for list in $(cat ${LOG_LIST})
do
    #将每个主机下目录下相同的日志排序并合并输出到新的目录
    sort -k4 -t" " -m \
        ${PATH_100}/${list} \
        ${PATH_101}/${list} \
        ${PATH_102}/${list} \
        ${PATH_103}/${list} \
        -o ${ALL_LOG_PATH}/${list}
done

最后更新于