Pedro, tudo bom?
Estou desenvolvendo um script no mikrotik em que, a cada X horas, ele vai baixar a lista de usuários do mk-auth (clientes_mkt.php) e restaurar no mikrotik. Isso porque, caso o mk-auth fique off, os clientes não tenham problemas para autenticar.
Porém, como vou fazer para baixar esse arquivo se tem que estar autenticado?
Então pensei numa possível API. Vi que você já colocou uma chave de API na página de dados da empresa. Então que tal se você fizer que, se essa API for enviada por GET, ele passa a valer como usuário e senha?
Exemplo, se eu colocar para o script acessar a pagina http://172.31.255.2/admin/clientes_mkt.php?api=1234567890, ele aceita e disponibiliza o arquivo.
Isso seria bom não apenas para esse arquivo de clientes, mas para outras funções do sistema, pois permitiria criarmos APIs que integram com o Mk-Auth.
No aguardo de uma possível solução.
Respostas
acompanhando !!
o sistema já cria e envia por ftp para o mikrotik um arquivo chamado mikrotik.rsc com os dados de login dos cliente, vc pode usar o script abaixo para importar amigo:
:if ( [/file find name=mikrotik.rsc] != "" ) do={
:log warning "Importando MikroTik Geral";
/import mikrotik.rsc;
/file remove mikrotik.rsc;
}
sobre a API, o sistema tem uma mini API que retorna os principais dados, fica na pasta /usr/local/mkauth/api/ mais é preciso pegar a KEY DA API que fica na pagina de dados do provedor e passar em uma url como abaixo:
http://url_servidor_mk-auth/api/arquivo.php?key=keyapi&valor=oquevcprecisa
Na lista abaixo tem do dado que cada arquivo da pasta api retorna e o valor preciso:
ARQUIVO / DADO RETORNADO / VALOR
titulos.php / dados do titulo / numero do titulo
usuarios.php / dados do usuario / login do sistema
chamados.php / dados do chamado / numero do chamado
clientes.php / dados do cliente / login do cliente
contas.php / dados da conta / numero da conta
empresa.php / dados da empresa / não precisa
todos os dados retornam no formado json
Luiz Paulo disse:
Pedro, cheguei a fazer o teste como disse. Ele roda perfeitamente, mas quando vai rodar no segundo agendamento, da problema, pois diz que o plano já existe cadastrado.
Minha ideia seria colocar comment em todas as regras com o nome de mkauth, igual vc fez nos clientes. Dessa forma posso colocar um remove nos que possuem comment=mkauth antes de importar. Ou então exporta os planos separadamente dos clientes rsrs
Pedro Filho disse:
mais os planos ficam separados no arquivo, é uma parte dos planos e outros clientes...
Luiz Paulo disse:
ue então devo estar fazendo algo de errado. Eu exclui os arquivos rsc do mikrotik. Como faço pra rodar a função manualmente pro mkauth enviar o rsc por ftp?
/opt/php5/bin/php -q /usr/local/mkauth/scripts/dhcp_mkt.php
/opt/php5/bin/php -q /usr/local/mkauth/scripts/clientes_mkt.php
/opt/php5/bin/php -q /usr/local/mkauth/scripts/pgaviso_mkt.php
/opt/php5/bin/php -q /usr/local/mkauth/scripts/ftp_mkt.php
Luiz Paulo disse: