fz_all.sh
#!/bin/bash#mwg@2012-2-5function usage{ echo -e "Usage: " echo -e "\te.g: $0 eth0 16" exit 65}if [ $# -ne 2 ];thenusagefilog=`dirname $0`/fz_all.logeth=$1timer=$2in_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )out_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )#######old_cpudeclare -a oneUse_cpu_old=($(cat /proc/stat |grep "^cpu" |awk '{printf"%d ", $2+$3+$4+$6+$7+$8}'))declare -a oneAll_cpu_old=($(cat /proc/stat |grep "^cpu" |awk '{printf"%d " ,$2+$3+$4+$5+$6+$7+$8}'))##############while truedosleep ${timer}tim=`date +%Y%m%d_%T`################memMem_total=`cat /proc/meminfo |grep MemTotal |awk -F '[: ]+' '{print $2}'`Mem_free=`cat /proc/meminfo |grep MemFree |awk -F '[: ]+' '{print $2}'`Mem_buffer=`cat /proc/meminfo |grep Buffers |awk -F '[: ]+' '{print $2}'`Mem_cache=`cat /proc/meminfo |grep '\' |awk -F '[: ]+' '{print $2}'`Mem_rea_free=`expr $Mem_free + $Mem_buffer + $Mem_cache`Mem_use=`expr $Mem_total - $Mem_rea_free`mem=`awk 'BEGIN{printf "%.0f\n",('$Mem_use'/'$Mem_total')*100}'`##swapswap_total=`cat /proc/meminfo |grep SwapTotal |awk -F '[: ]+' '{print $2}'`swap_free=`cat /proc/meminfo |grep SwapFree |awk -F '[: ]+' '{print $2}'`swap_use=`expr $swap_total - $swap_free`swap=`awk 'BEGIN{printf "%.0f\n",('$swap_use'/'$swap_total')*100}'`##loadLoad=`cat /proc/loadavg |awk '{print $1}'`#####################################################countconnect=$(netstat -antp |grep -v 0.0.0.0:|grep -c :66[6-7][0-9])connect1=$(netstat -antp |grep -v 0.0.0.0:|grep -c :6661)connect2=$(netstat -antp |grep -v 0.0.0.0:|grep -c :6662)connect3=$(netstat -antp |grep -v 0.0.0.0:|grep -c :6663)connect4=$(netstat -antp |grep -v 0.0.0.0:|grep -c :6664)##liuliangin=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )out=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )dif_in=`echo "($in-$in_old)*8/$timer"|bc`dif_out=`echo "($out-$out_old)*8/$timer"|bc`##dif_in_m=`echo "scale=3;($in-$in_old)*8/$timer/1024/1024"|bc`dif_out_m=`echo "scale=3;($out-$out_old)*8/$timer/1024/1024"|bc`###one_in=`echo "scale=2;$dif_in/$connect/1024"|bc`#one_out=`echo "scale=2;$dif_out/$connect/1024"|bc`####in_old=${in}out_old=${out}##if [ $dif_in -le 0 ];thencontinuefiif [ $dif_out -le 0 ];thencontinuefi#################################################cpudeclare -a oneUse_cpu=($(cat /proc/stat |grep "^cpu" |awk '{printf"%d ", $2+$3+$4+$6+$7+$8}'))declare -a oneAll_cpu=($(cat /proc/stat |grep "^cpu" |awk '{printf"%d " ,$2+$3+$4+$5+$6+$7+$8}'))####函数cpu_math(){Use_cpu=${oneUse_cpu[$1]}All_cpu=${oneAll_cpu[$1]}Use_cpu_old=${oneUse_cpu_old[$1]}All_cpu_old=${oneAll_cpu_old[$1]}dif_all_cpu=`expr $All_cpu - $All_cpu_old|bc`dif_use_cpu=`expr $Use_cpu - $Use_cpu_old|bc`cpu=`awk 'BEGIN{printf "%.0f\n",('$dif_use_cpu'/'$dif_all_cpu')*100}'`echo $cpureturn 0}####printcpu(){LIMIT=`expr ${#oneUse_cpu[@]} - 1`for ((i=0; i<=LIMIT; i++))do eval cpu$i=`cpu_math $i` eval echo CPU$i:\${cpu${i}}%done}declare -a mcpu=(`printcpu`)####declare -a oneUse_cpu_old=(${oneUse_cpu[@]})declare -a oneAll_cpu_old=(${oneAll_cpu[@]})#############################################echo -e "$tim ${mcpu[@]}|MEM:$mem%|SWAP:$swap%|LOAD:$Load|IN:${dif_in_m}Mbit/s|OUT:${dif_out_m}Mbit/s|COUNT:${connect}|COUNT1:${connect1}|COUNT2:${connect2}|COUNT3:${connect3}|COUNT4:${connect4}|ONE_IN:${one_in}Kbit/s|ONE_OUT:${one_out}Kbit/s " >> $logdoneexit 0