`
canofy
  • 浏览: 821008 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

统计系统二-----日志下载

阅读更多
这是下载的shell脚本,需要配置文件,之后会慢慢介绍
一下是源码
. comm_function.sh

#工作目录
work_path=`getWorkPath`

#下载的时间,默认为上一个小时
lasthour=`date --date="1 hour  ago" +%Y-%m-%d-%H`;

#获取配置文件的路径
config_address=$work_path"/config";
comm_config_file=$config_address"/comm.config"
#获取日志的路径
work_log=$work_path"/log/work.log"
error_log=$work_path"/log/error.log"
wget_log=$work_path"/log/wget.log"
down_error_log=$work_path"/log/down_error.log"
down_success_log=$work_path"/log/down_success.log"

#获取下载的配置文件
#down_config_file=`getConfigValue "down_config_file" "$comm_config_file"`

#第一个参数为日志名称
if test $1
then
    log_name=$1
else
    `logInfo "The first parameter must be log name ." "$error_log"`
    exit;
fi

#第二个参数为日志解压缩后的文件名称
if test $2
then
    log_name_ex=$2
else
    `logInfo "The first parameter must be log name ex." "$error_log"`
fi

#第三个参数为日志的保存路径
if test $3
then
    log_save_path=$3
else
    `logInfo "The third parameter must be log save path ." "$error_log"`
    exit;
fi

#第四个参数为日志的下载配置文件(里面是url)
if test $4
then
    down_config_file=$4
else
    `logInfo "The fourth parameter must be log download config file ." "$error_log"`
    exit;
fi


#第五个参数为下载成功的日志名,里面是路径
if test $5
then
    down_success_log=$work_path"/log/"$5
fi

#第六个参数为下载失败的日志名,里面是url地址
if test $6
then
    down_error_log=$work_path"/log/"$6
fi


#日志名称由外面传进来
#log_name=`getLogName "$lasthour" "log_name" "$comm_config_file"`
#log_name_ex=`getLogName "$lasthour" "log_name_ex" "$comm_config_file"`

#echo $log_name;

#下载日志的后缀名
log_suffix=`getConfigValue "log_suffix" "$comm_config_file"`

#保存路径由外面传进来
#log_save_path=`getConfigValue "log_save_path" "$comm_config_file"`

#echo $log_save_path

logInfo "*************************Begin Download Log******************************" $work_log
logInfo "Log save path:"$log_save_path $work_log
#开始下载日志
for i in `grep -E -v '^#' $down_config_file`;do
    if [ -n $i ] ;then
        url=$i
        allname=$log_name$log_suffix
        down_url=$url"/"$allname
        echo $down_url
        logInfo "download url :"$down_url $work_log
        #日志的保存路径,以ip为目录
        ip=`getIpByUrl "$url"`
        #echo "ip:" $ip
        real_path=`getDownPath "$log_save_path" "$ip"`
        #echo $real_path
        cd $real_path

        #判断文件是否已下载 ,已下载就解压缩
        if [ -n "$allname" ]&&[ ! -e "$allname" ] ;then
            #echo $down_url
            logInfo ".........downloading........."$down_url $work_log
            #下载文件 
            wget -c -t2 -T2 -a $wget_log $down_url
            if [ $? -gt 0 ] ; then
                #下载失败
                logInfo "!!!download error"$down_url  $work_log
                echo $down_url>>$down_error_log
            else
                if [ "$log_suffix"=="zip" ]; then
                    #下载成功,开始进行解压缩
                    unzip $real_path"/"$log_name>>$work_log
                    #把下载成功的文件记录到成功的记录中
                    echo $real_path"/"$log_name_ex".txt">>$down_success_log
                else
                    #下载成功,开始进行解压缩
                    tar -zxf $real_path"/"$log_name
                    #把下载成功的文件记录到成功的记录中
                    echo $real_path"/"$log_name_ex>>$down_success_log
                fi
                logInfo "success"$down_url  $work_log
            fi
            logInfo "..........end download......."$down_url $work_log
        else
            if [ "$log_suffix"=="zip" ]; then
                    #下载成功,开始进行解压缩
                    unzip $real_path"/"$log_name>>$work_log
                    #把下载成功的文件记录到成功的记录中
                    echo $real_path"/"$log_name_ex".txt">>$down_success_log
                else
                    #下载成功,开始进行解压缩
                    tar -zxf $real_path"/"$log_name
                    #把下载成功的文件记录到成功的记录中
                    echo $real_path"/"$log_name_ex>>$down_success_log
            fi
            logInfo $down_url" already download" $work_log
        fi
    fi
done
logInfo "*******************************End Download****************************************"  $work_log

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics