Bwbar é um programa escrito em C que nos mostra o consumo de banda em tempo real. Vamos fazer uso dele juntamente com o CBQ. Vou explicar a situação, suponhamos que temos uma rede e queremos monitorar o consumo de banda, que quando for excedido de 2000 Kbits/s, todos os usuários tivessem sua velocidade reduzida em 20%.
Crie um arquivo dentro de /sbin chamado bw-equa com o seguinte conteúdo:
#!/bin/bash
#================================================
# Script Equalizador de Banda
# Desenvolvido por Marcelo Prota
#================================================
dl=`cat /var/www/htdocs/bw/ubar_eth1_in.txt |awk {'print$5'}`
ul=`cat /var/www/htdocs/bw/ubar_eth1_out.txt |awk {'print$5'}`
vel_max=1000 #Aqui está sendo definida a velocidade máxima em kbps
soma=$(echo "scale=2; $dl + $ul"|bc)
total=$(echo $soma |cut -f1 -d".")
echo $total `cat /var/www/htdocs/bw/ubar_eth0_in.txt |awk {'print$6'}`
if [ $total -ge $vel_max ]
then
echo 'Velocidade dos usuários sendo abaixada em 20%.'
/sbin/script_cbq stop
/sbin/script_cbq2 start
else
echo 'Velocidade dos usuários sendo normalizada.'
/sbin/script_cbq2 stop
/sbin/script_cbq start
fi
Agora vamos colocar no crontab para verificar a cada 30 minutos.