woff 發表於 2008-6-2 14:34:36

Bandwidthd 快速安裝程式 (CentOS 5.1)

bandwidthd可以用來追蹤,並以圖型化、網頁化的方式來顯示TCP/IP網路中的使用
和MRTG 不同的是,'bandwidthd' 追蹤的是各別的IP 用量,而不像MRTG 是顯示某一網路介面的總量

CentOS 5.1 並沒有提供 Bandwidthd 套件, 要自己去下載安裝

http://bandwidthd.sourceforge.net/

小弟寫了一個快速安裝程式如下
(和 Fedora 7主要差別是 OS 版本判斷; 判斷是否安裝時候, rpm 顯示訊息不同) echo -e "\033[31m"
echo -e " BandWidthD 2.0.1 Install Shell Script (CentOS 5.1) "
echo -e " by lu 2008/04/17 "
echo -e "\033[0m"


DEBUG=n

if [ "`cat /proc/version | grep centos | grep el5`" != "" ]; then
   OS="CentOS 5.x"
   echo "Detection your OS is CentOS 5.x"
else
   echo " Only Support CentOS 5.x"
   exit
fi

echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " ntpdate tick.stdtime.gov.tw "
echo -e "####################################"
echo -e "\033[0m"

echo -e "\033[32mKill nptd on running...\033[0m"
ProcessID="`ps aux | grep ntpd | awk '{print $2}' `"
for i in $ProcessID
do
   echo $i
   kill -9 $i
done
ntpdate tick.stdtime.gov.tw
if [ "$DEBUG" == "y" ]; then echo "ress any key to continue..." ; read ; fi

echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " yum -y install something"
echo -e "####################################"
echo -e "\033[0m"


echo -e "\033[32mKill yum on running...\033[0m"
ProcessID="`ps aux | grep yum | awk '{print $2}' `"
for i in $ProcessID
do
   echo $i
   kill -9 $i
done
echo -e "\033[32mCheck : libpcap-devel libpng-devel gd-devel gcc httpd \033[0m"

YUMARGS=""

if [ "`rpm -q libpcap-devel | grep not`" != "" ]; then
   YUMARGS="$YUMARGS libpcap-devel"
   echo "libpcap-devel not installed"
else      
   echo "libpcap-devel installed"
fi

if [ "`rpm -q libpng-devel | grep not`" != "" ]; then
   YUMARGS="$YUMARGS libpng-devel"
   echo "libpng-devel not installed"
else
   echo "libpng-devel installed"
fi

if [ "`rpm -q gd-devel | grep not `" != "" ]; then
   YUMARGS="$YUMARGS gd-devel"
   echo "gd-devel not installed"
else
   echo "gd-devel installed"
fi

if [ "`rpm -q gcc | grep not `" != "" ]; then
   YUMARGS="$YUMARGS gcc"
   echo "gcc not installed"
else
   echo "gcc installed"
fi

if [ "`rpm -q httpd | grep not`" != "" ]; then
   YUMARGS="$YUMARGS httpd"
   echo "httpd not installed"
else
   echo "httpd installed"
fi

#echo $YUMARGS

if [ ! "$YUMARGS" == "" ]; then
   rm -fr /var/cache/yum
   echo -e "\033[32myum -y install $YUMARGS \033[0m"
   yum -y install $YUMARGS
fi

echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Install and Set BandWidthD"
echo -e "####################################"
echo -e "\033[0m"

if [ ! -s bandwidthd-2.0.1.tgz ]; then
   echo "bandwidth-2.0.1.tgz not found ! Please download from http://bandwidthd.sourceforge.net/ "
   exit
else
   echo "bandwidth-2.0.1.tgz found !"
   echo " "
fi

echo -e "\033[32mtar zxvf bandwidthd-2.0.1.tgz \033[0m"
tar zxvf bandwidthd-2.0.1.tgz

echo -e "\033[32mcd bandwidthd-2.0.1 \033[0m"
cd bandwidthd-2.0.1
pwd

echo -e "\033[32m./configure \033[0m"
./configure

echo -e "\033[32mmake \033[0m"
make

echo -e "\033[32mmake install \033[0m"
make install

echo -e "\033[32mvi /etc/httpd/conf.d/bandwidthd.conf \033[0m"

echo "Alias /bandwidthd /usr/local/bandwidthd/htdocs">/etc/httpd/conf.d/bandwidthd.conf
echo "<Location /bandwidthd>">>/etc/httpd/conf.d/bandwidthd.conf
echo "    Order deny,allow">>/etc/httpd/conf.d/bandwidthd.conf
echo "#    Deny from all">>/etc/httpd/conf.d/bandwidthd.conf
echo "    Allow from 127.0.0.1">>/etc/httpd/conf.d/bandwidthd.conf
echo "    Allow from ::1">>/etc/httpd/conf.d/bandwidthd.conf
echo "    # Allow from .example.com">>/etc/httpd/conf.d/bandwidthd.conf
echo "</Location>">>/etc/httpd/conf.d/bandwidthd.conf

if [ "$DEBUG" == "y" ]; then echo "ress any key to continue..." ; read ; fi

echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Run bandwidthd "
echo -e "####################################"
echo -e "\033[0m"

echo -e "\033[32mchkconfig httpd on \033[0m"
chkconfig httpd on
echo -e "\033[32mservice httpd start \033[0m"
service httpd start
echo

echo -e "\033[32mBandWidthD Config : /usr/local/bandwidthd/etc/bandwidthd.conf \033[0m"
echo -e "\033[32m                  modify subnet \033[0m"
echo -e "\033[32mhttpd Config : /etc/httpd/conf.d/bandwidthd.conf \033[0m"
echo

echo -e "\033[32mkillall bandwidthd \033[0m"
killall bandwidthd

echo -e "\033[32mcd /usr/local/bandwidthd \033[0m"
# You must run bandwidthd on special directory, else index.html will be generated on other directory
cd /usr/local/bandwidthd
pwd
echo -e "\033[32m/usr/local/bandwidthd/bandwidthd \033[0m"
/usr/local/bandwidthd/bandwidthd

echo -e "\033[32mfirefox http://localhost/bandwidthd & \033[0m"
firefox http://localhost/bandwidthd &

woff 發表於 2008-6-2 14:38:14

http://forum.icst.org.tw/phpBB2/viewtopic.php?t=14852
更多相關文章

ootvbsoo 發表於 2009-2-22 13:34:28

真的是太好了
長智識
頁: [1]
查看完整版本: Bandwidthd 快速安裝程式 (CentOS 5.1)