Apache记录访问流量趋势变化

17-07-31 13:39 字数 1021 阅读 3234
#!/bin/bash
cd /data/logs
ls -l *`date +%Y%m%d`_access.log* | awk '{print $NF}' > 1.txt
for i in `cat 1.txt`;do cat $i | awk '{print $NF}' | grep -v "-" | awk '{sum += $1}END{print sum/1024/1024}' | awk '{printf ("%.2fn", $1)}';done > 2.txt
#合并输出两列
paste -d "t" 1.txt 2.txt > 3.txt
#按第二列大小排序
cat 3.txt | sort -k 2 -nr > 4.txt
sed 's/$/&MB/g' 4.txt
echo -e "n"
echo "请耐心等待10秒,正在计算这10秒内的日志变化。。。。。"
echo "########################################################日志增长率######################################################"
echo -e "n"

sleep 10

ls -l *`date +%Y%m%d`_access.log* | awk '{print $NF}' > 1.txt
for i in `cat 1.txt`;do cat $i | awk '{print $NF}' | grep -v "-" | awk '{sum += $1}END{print sum/1024/1024}' | awk '{printf ("%.2fn", $1)}';done > 2.txt
#合并输出两列
paste -d "t" 1.txt 2.txt > 5.txt
#按第二列大小排序
cat 5.txt | sort -k 2 -nr > 6.txt

cat 3.txt | awk '{print $NF}' > 7.txt
cat 5.txt | awk '{print $NF}' > 8.txt

paste -d "t" 7.txt 8.txt > 10.txt
cat 10.txt | awk '{print $2-$1}' > 11.txt
paste -d "t" 1.txt 7.txt 8.txt 11.txt  | grep -v "0.00" > 12.txt
cat 12.txt | sort -k 4 -nr |awk 'BEGIN {print "日志名称                                    首次访问日志大小(M)   n秒后日志大小(M)     日志增长大小(M)     日志增长率(%)"}{printf"%-50s%-20s%-20s%-20s%.2fn",$1,$2,$3,$4,$4/$2*100}'
0人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论
站长 @ 十七度
文章
384
粉丝
23
喜欢
195
收藏
31
排名 : 1
访问 : 145.12万
私信