上篇日志给出的脚本有点无厘头,其实那是为了这篇在做铺垫。
在上篇日志中,通过抓取 Cacti 的 rrd 文件,我可以取到一个网卡的流量数据。由于 Cacti 默认保存为 byte 所以里面有一些计算过程。
这篇日志依旧是贴个简单的脚本,这个脚本实现了动态分出 apache 流量的功能。
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 | #!/bin/bash
confpath=/home/web/download/.htaccess
doredirect ()
{
echo 'Redirect /a.zip http://cloudfront_cname/a.zip' > $confpath
}
cancelredirect ()
{
sed -i '/cloudfront_cname/d' $confpath
}
wget http://192.168.1.1/status/lvsoutput.html -O /tmp/lvsoutput
speed=`cat /tmp/lvsoutput`
redirect=`grep 'cloudfront_cname' $confpath | wc -l`
case $redirect in
0 )
if [ $speed -gt 230 ]
then doredirect
else exit
fi
;;
* )
if [ $speed -lt 200 ]
then cancelredirect
else exit
fi
;;
esac |
实现的功能是判断当前网络流量,如果高于230M,则将某些链接重定向到 Amazon CloudFront 服务上面去。如果流量小于200M,则将服务切回。
Amazon S3 和 CloudFront 都是很好的服务。既可以做存储,也可以用来做 http 服务器(下载比较实用),从而缓解自己机房里面的压力。

0 Comments.