Existe uma forma de se gerar um script em Shell Script num gateway linux para pegar o "MAC" e "NOME" do cliente de um banco de dados nosso e exportar o mesmo para o "ACCESS LIST" do MKT, sem usar o terminal ou winbox, seria Linux pra MKT.
Existe uma forma de se gerar um script em Shell Script num gateway linux para pegar o "MAC" e "NOME" do cliente de um banco de dados nosso e exportar o mesmo para o "ACCESS LIST" do MKT, sem usar o terminal ou winbox, seria Linux pra MKT.
sim, existe uma forma de fazer isso.
!/bin/bash
##########################################################
#### SQL PRA LISTAR PARAMETROS PARA CRIAÇÃO USER (RADIUS)
#### CONECTANDO AO BANCO E SELECIONANDO O PARAMETROS
mysql -h 222.222.222.222 -D bancodedados -u administrator -senha123 -e "select maclist.ip,maclist.banda,maclist.login,email.nome,email.email,usuarios.login from maclist,email,usuarios where usuarios.situacao <> 'X' and usuarios.situacao <> 'B' and maclist.numero=email.numero and usuarios.numero=maclist.numero and email.email like 'p-%' order by maclist.ip asc;" | grep 192.168.2| awk '{print $1"-"$2"-"$4"-"$5"-"$6}' > /opt/sgcu/listappp
#### DEFININDO VARIAVEIS
MACLIST=/opt/sgcu/listappp
CONTADOR6=0
#### LIMPANDO ARQUIVOS
> /opt/sgcu/listapppteste
> /usr/local/etc/raddb/users
> /opt/sgcu/accesslistmkt
#### EXTRAINDO PARAMETROS PARA O USERS (pppOE) DE CADA CLIENTE
for i in `cat $MACLIST | grep 192.168.248`; do
MAC=`echo $i | cut -d '-' -f 4`
USUARIO=`echo $i | cut -d '-' -f 5`
SENHA=`echo $i | cut -d '-' -f 7`
IP=`echo $i | cut -d '-' -f 1`
DOWN=`echo $i | cut -d '-' -f 2`
UP=`echo $i | cut -d '-' -f 3`
NOME=`echo $i | cut -d '-' -f 8`
CONTADOR6=`expr $CONTADOR6 + 1`
BANDABURSTDOWN=`expr $DOWN \* 2`
BANDABURSTUP=`expr $UP \* 2`
BANDATRESHOLDDOWN=`expr $DOWN / 2`
BANDATRESHOLDUP=`expr $UP / 2`
#### GERANDO LINHAS COM OS PARAMENTOS PARA O USERS (PPPoe) PARA CADA CLIENTE
echo "##################################################################" >> /opt/sgcu/listapppteste
echo "#" $CONTADOR6 - $NOME >> /opt/sgcu/listapppteste
echo "##################################################################" >> /opt/sgcu/listapppteste
echo $SENHA' Auth-Type := Local, User-Password == "'$USUARIO'"' >> /opt/sgcu/listapppteste
echo \ " Service-Type = Framed-User," >> /opt/sgcu/listapppteste
echo \ " Framed-Protocol = PPP," >> /opt/sgcu/listapppteste
echo \ " Framed-IP-Address =" $IP"," >> /opt/sgcu/listapppteste
echo \ " Framed-MTU = 1452," >> /opt/sgcu/listapppteste
echo \ " Fall-Through = Yes," >> /opt/sgcu/listapppteste
echo \ " Framed-Compression = Van-Jacobson-TCP-IP," >> /opt/sgcu/listapppteste
echo \ ' Mikrotik-Rate-Limit = "'$DOWN'000/'$UP'000' $BANDABURSTDOWN'000/'$BANDABURSTUP'000 '$BANDATRESHOLDDOWN'000/'$BANDATRESHOLDUP'000 10/10",' >> /opt/sgcu/listapppteste
#### SCRIPT PARA EXPORTAçÂO MACLIST PRA MKT - NESTE PONTO EU NÂO SEI COMO ENVIAR ISSO
echo \ "add mac-address=$MAC interface=wlan1 authentication=yes forwarding=no ap-tx-limit=0 client-tx-limit=0 private-algo=none private-key="" private-key="" comment=$USUARIO disabled=no" >> /opt/sgcu/accesslistmkt
#### ATÉ AKI TUDO OK, EU CONSIGO GERAR O ARQUIVO DE ACCESS LIST NO LAYOUT NO MKT, mas como vou excluir o access list do mkt e depois
enviar este arquivo que gerei
echo "" >> /opt/sgcu/listapppteste
done
#### TRANSFERINDO LISTA PARA O USERS DO RADIUS
cat listapppteste >> /usr/local/etc/raddb/users
#### REINICIANDO O RADIUS
rc.radiusd stop
rc.radiusd start