【资料整理】下载和分析cdn节点汇总日志

CDN日志下载与分析
本文介绍了一个Shell脚本,用于自动化下载指定日期的CDN节点日志,并进行统计分析。该脚本支持按需获取不同域名的日志文件,通过FTP下载后,对每个域名的日志进行URI频率统计。

资料整理】下载和分析cdn节点汇总日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash
# filename: log_cdn.sh
# 2014/11/20
# mkdir -p /home/log/cdn/{log,stat}
 
action=$1
dt=$2
[ -z ${dt} ] && dt=$(date -d "yesterday" +"%Y-%m-%d")
 
location="ftp.xxcdn.com"
ftpsvr="ftp://${location}"
d_base="/home/log/cdn"
d_stat="${d_base}/stat"
d_log="${d_base}/log"
f_logdetail="${d_base}/log/download.log"
f_logwget="${d_base}/log/wget.log"
 
usage() {
    cat <<_EOF
 
$0 [stat|clean] date
 
_EOF
}
 
s_domains="www.xxx.com"
list_domain=(${s_domains})
lens_domain=${#list_domain[@]}
 
log_download() {
    local s_URL="$1"
 
    echo "[+] START: `date +"%Y-%m-%d %H:%M:%S"`"
    echo "[-] ready to get: ${s_URL}"
    wget -P ${d_base} --ftp-user=xxx --ftp-password=xxx -m -c -t5 ${s_URL} -a ${f_logwget} -nv
    echo "[-] END: `date +"%Y-%m-%d %H:%M:%S"`"
}
 
log_stat() {
    for ((i=0;i<$lens_domain;i++))
    do
        local s_URL="${ftpsvr}/${list_domain[$i]}/${dt}*"
        log_download ${s_URL}
        local d_result="${d_stat}/${list_domain[$i]}/${dt}"
        mkdir -p ${d_result} && cd ${d_result}
        local f_pattern="${d_base}/${location}/${list_domain[$i]}/${dt}-*.cn.*"
        ls ${f_pattern}
        zcat ${f_pattern} |awk '{print $7}' |sort |uniq -c |sort -nr >1_uri.log
         
    done
}
 
log_clean() {
    find ${d_base}/${location} -type -f -mtime +13 -delete
}
 
case ${action} in
    stat)
        log_clean
        log_stat ${dt} >${f_logdetail} 2>&1 &
        ;;
    clean)
        log_clean
        ;;
    *)
        usage
        ;;
esac



本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1595612,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值