Eu uso aqui só controlando entrada, tem algum problema. Funciona,
Versão Imprimível
Eu uso aqui só controlando entrada, tem algum problema. Funciona,
Citação:
Postado originalmente por jrctec
Tem não....pode usar assim se quizer
#!/bin/bash
echo " *********************************************************"
echo " **** Favor informar o IP que será modificado, antes de *"
echo " **** iniciar o Script de Atualização de banda. *"
echo " *********************************************************"
echo " "
echo " ---- Ultimo IP Modificado: "`cat /tmp/cbq/ip-old`" . ----"
#
echo " "
echo " 1-) Qual IP deseja modificar ou Adicionar a Banda: "
echo -n " Insira o Numero IP: "
read IP
clear
#
echo "********************************************************"
echo "* Controle de Banda para Linux v2.3 *"
echo "* *"
echo "********************************************************"
echo " "
#
# ---- Variaveis Ambiente. ----
#
DIRETORIO="/etc/cbq"
DIRETORIO_OLD="/tmp/cbq/old/"
#
IPDOWN="$IP"
IPUP="$IP,"
#
ETHUP="eth0"
ETHDOWN="eth1"
#
VERIFICA="`cat $DIRETORIO/*$IP* |grep RULE |cut -d = -f2 |tail -n 1`"
#
if [ "$IP" = "$VERIFICA" ]; then
echo " **** ATENCÃO!! ****"
echo " O IP que sera alterado as regras sera: $IP"
echo " Pressione [ENTER] para continuar:"
echo " Ou [Ctrl + C] para cancelar a operação "; read $object
else
touch $DIRETORIO/.cbq-0000.$IP-up $DIRETORIO/.cbq-0001.$IP-down
fi
#
IDUP="`ls $DIRETORIO/*$IP-up | cut -d. -f1 | cut -d- -f 2`"
IDDOWN="`ls $DIRETORIO/*$IP-down | cut -d. -f1 | cut -d- -f 2`"
#
CONTROLEUP="cbq-$IDUP.$IP-up"
CONTROLEDOWN="cbq-$IDDOWN.$IP-down"
#
NOMECLIENTE="`cat $DIRETORIO/$CONTROLEDOWN | grep Cliente | cut -d: -f 2 | cut -d. -f 1`"
VELATUALDOWN="`cat $DIRETORIO/$CONTROLEDOWN | grep RATE | cut -d = -f 2`"
VELATUALUP="`cat $DIRETORIO/$CONTROLEUP | grep RATE | cut -d = -f 2`"
PRIOATUAL="`cat $DIRETORIO/$CONTROLEUP | grep PRIO | cut -d = -f 2`"
#
BANDATUALUP="`head -n 62 /var/www/htdocs/mrtg/200.205.216.17/200.205.216.17_1.html | tail -n 1 $1 | cut -d ">" -f 3 | cut -d"(" -f 1`"
BANDATUALDOWN="`head -n 76 /var/www/htdocs/mrtg/200.205.216.17/200.205.216.17_1.html | tail -n 1 $1 | cut -d ">" -f 3 | cut -d"(" -f 1`"
ULTIMOSIDS="`ls $DIRETORIO | tail -n 1 | cut -d. -f1 `"
#
clear
echo "********************************************************"
echo "* Controle de Banda para Linux v2.4 *"
echo "* *"
echo "********************************************************"
echo " "
echo "********************************************************"
echo " IP que Será Modificado Banda : $IP"
echo " Antigo Nome do Cliente : $NOMECLIENTE"
echo " Velocidade Atual de UpLoad : $VELATUALUP"
echo " Velocidade Atual de Download : $VELATUALDOWN"
echo " Prioridade Atual no IP : $PRIOATUAL"
echo " CLSID do Arquivo de UpLoad : $IDUP"
echo " CLSID do Arquivo de Download : $IDDOWN"
echo " -----------------------------"
echo " Utilização atual do link UpLoad : $BANDATUALUP "
echo " Utilização atual do link Download: $BANDATUALDOWN "
echo " -----------------------------"
echo "********************************************************"
#
cp $DIRETORIO/$CONTROLEUP $DIRETORIO_OLD > /dev/null
cp $DIRETORIO/$CONTROLEDOWN $DIRETORIO_OLD > /dev/null
#
echo " -----------------------------------------------------"
echo " ---- Controle de Banda para o IP $IP. ----"
echo " -----------------------------------------------------"
echo ""
echo -n " 2-) Insira o Nome do Cliente: "
read nomecliente
echo -n " 3-) Insira o Valor para Upload: "
read bandaup
echo -n " 4-) Insira o Valor para Download: "
read bandadown
echo -n " 5-) Insira o Valor de $bandaup dividido por 10: "
read weightup
echo -n " 6-) Insira o Valor de $bandadown dividido por 10: "
read weightdown
echo " 7-) Insira o Valor de Prioridade desse IP (Padrão 5). "
echo -n " * IMPORTANTE: Quanto maior o Numero menor é a prioridade: "
read prio
echo " "
echo -n " 8-) Deseja Trocar ou Inserir um novo CLSID? [n/s] $c"; read answer
case $answer in
s|S)
rm $DIRETORIO/*$CONTROLEUP* > /dev/null
rm $DIRETORIO/*$CONTROLEDOWN* > /dev/null
#
echo "Ultimo ID INSERIDO: $ULTIMOSIDS"
echo -n "Inserindo Novo CLSID para Upload (Numero deve ser Par - Ex: 0002): "
read IDUP
echo -n "Inserindo Novo CLSID para Download (Numero deve ser Impar - Ex: 0003): "
read IDDOWN
echo " "
;;
N|n|*)
echo $IDUP
echo $IDDOWN
;;
esac
echo " "
#
CONTROLEUPNEW="cbq-$IDUP.$IP-up"
CONTROLEDOWNNEW="cbq-$IDDOWN.$IP-down"
#
# ---- Configurando Download. ----
#
cat $DIRETORIO/.texto-cbq-down > $DIRETORIO/$CONTROLEDOWNNEW
#
echo "# ---- Nome do Cliente: $nomecliente . ----" >> $DIRETORIO/$CONTROLEDOWNNEW
echo "#" >> $DIRETORIO/$CONTROLEDOWNNEW
echo DEVICE=$ETHDOWN,10Mbit,1Mbit >> $DIRETORIO/$CONTROLEDOWNNEW
echo RATE="$bandadown"Kbit >> $DIRETORIO/$CONTROLEDOWNNEW
echo WEIGHT="$weightdown"kbit >> $DIRETORIO/$CONTROLEDOWNNEW
echo PRIO=$prio >> $DIRETORIO/$CONTROLEDOWNNEW
echo "BOUNDED=yes" >> $DIRETORIO/$CONTROLEDOWNNEW
echo "#PARENT=$IDDOWN" >> $DIRETORIO/$CONTROLEDOWNNEW
echo "#" >> $DIRETORIO/$CONTROLEDOWNNEW
echo "# ---- Limitação do IP: $IP. ----" >> $DIRETORIO/$CONTROLEDOWNNEW
echo RULE=$IPDOWN >> $DIRETORIO/$CONTROLEDOWNNEW
echo "#" >> $DIRETORIO/$CONTROLEDOWNNEW
echo "# ---- Fim. ----" >> $DIRETORIO/$CONTROLEDOWNNEW
echo " "
#
# ---- Configurando UpLoad. ----
cat $DIRETORIO/.texto-cbq-up > $DIRETORIO/$CONTROLEUPNEW
#
echo "# ---- Nome do Cliente: $nomecliente . ----" >> $DIRETORIO/$CONTROLEUPNEW
echo "#" >> $DIRETORIO/$CONTROLEUPNEW
echo DEVICE=$ETHUP,10Mbit,1Mbit >> $DIRETORIO/$CONTROLEUPNEW
echo RATE="$bandaup"Kbit >> $DIRETORIO/$CONTROLEUPNEW
echo WEIGHT="$weightup"kbit >> $DIRETORIO/$CONTROLEUPNEW
echo PRIO=$prio >> $DIRETORIO/$CONTROLEUPNEW
echo "BOUNDED=yes" >> $DIRETORIO/$CONTROLEUPNEW
echo "#PARENT=$IDUP" >> $DIRETORIO/$CONTROLEUPNEW
echo "#" >> $DIRETORIO/$CONTROLEUPNEW
echo "# ---- Limitação do IP: $IP. ----" >> $DIRETORIO/$CONTROLEUPNEW
echo RULE=$IPUP >> $DIRETORIO/$CONTROLEUPNEW
echo "#" >> $DIRETORIO/$CONTROLEUPNEW
echo "# ---- Fim. ----" >> $DIRETORIO/$CONTROLEUPNEW
echo " "
#
echo $IP > /tmp/cbq/ip-old
#
echo "Paralizando controle de banda."
cbq stop
echo "Compilando as novas regras."
cbq compile > /dev/null
echo "Reiniciando o Controle de Banda com Novas Configurações."
cbq start
#
#
echo "As seguintes características foram Aleradas: "
echo " "
echo " Nome do Cliente: $nomecliente"
echo " IP alterado: $IP"
echo " Limitação de Upload à: $bandaup kbits"
echo " Limitação de Download à: $bandadown kbits"
echo " Prioridade Setada: $prio"
echo " "
#
pega este script ai
com ele vc cria as regras do cbq tanto para down como para up
Boa dica...