Para quem não sabe há pouco mais de dois anos participei como aluno de um
Curso Mikrotik e obtive minha
Certificação MTCA. Estes equipamentos fabricados pela empresa
Mikrotik RouterOS
possuem uma distribuição Linux personalizada e excelente para quase
todo tipo de serviços de redes, é tanta coisa que estou pensando
sériamente em montar um
curso de Mikrotik e disponibilizá-lo para
download.
Recentemente, por causa do meu novo emprego velho (não vou contar a
história porque é longa) tive que novamente fazer uso de algunss scripts
em bash que havia criado há algum tempo para monitoramento e manutenção
de equipamentos
Mikrotik, porém, qual não foi a minha
supresa ao perceber que eles não mais funcionavam da forma como eu
esperava. Os scripts em questão foram publicados anteriormente aqui no
blog:

Não sei se os erros em questão foram devidos a alguma atualização do
Bash ou do Mikrotik, acredito mais na possibilidade do segundo; mas
juntanto o util ao agradável acabei meio que unindo os dois scripts bash
e fazendo algumas modificações:
Na verdade a questão de monitoramento nem era tão importante assim, mas quando se tem que
atualizar o Mikrotik
através de comandos, tendo-se mais de 40 equipamentos seguindo o mesmo
padrão fica meio complicada a coisa. O que estava me incomodando em meu
script para
enviar comando para Mikrotik era que se um
dos equipamentos estivesse offline, nenhum outro que estivesse após ele
na lista era atualizado, então o que este novo
script bash faz é verificar se o
Mikrotik está online e em caso afirmativo o comando é enviado para o Mikrotik.
Para ter um melhor
gerenciamento de Mikrotik o mesmo
scipt em Bash
também grava um pequeno arquivo de log em formato .txt informando o ip,
horário e se o equipamento foi atualizado ou não. Segue logo abaixo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#!/bin/bash
############################################################################
# Enviar comando de configuração via SSH
# para diversas RouterBoards Mikrotik simultaneamente
# enviaMikrotik.sh – v.2.0 – 2013/07/03
#
# Autor: Alexsandro Felix
# Site: http://blog.ffelix.eti.br
# E-mail/MSN/GTalk: felix@ffelix.eti.br
# Este script pode ser copiado e modificado livremente,
# desde que os devidos créditos sejam concedam ao autor os devidos créditos
# O script original pode ser encontrado em: http://wp.me/pLEMr-Xt
############################################################################
# Fazemos um backup das configurações atuais de nosso terminal
bkpterminal=`stty -g`
# De modo interativo, pega informações de login e senha
# para acessar as RouterBoards
echo "Digite seu login para as RB's'"
read usuario
export user=$usuario
echo "Digite sua senha das RB's"
# Desativa a saída de caracteres no monitor
# para que outras pessoas não vejam qual sua senha
stty -echo intr '^a'
read passwd
export senha=$passwd
# Volta a configuração de terminal previamente salva
stty $bkpterminal
# Defina qual a porta de conexão que o seu servidor SSH escuta
# por questões de segurança é recomendável sempre alterar a porta padrão 22
# para alguma outra de sua preferência que esteja livre
export porta=12345
# Alguns comandos de exemplo:
# /system identity print
# /user print
# /ip service disable ftp
# /user remove user
# /user add name=user password=pass group=full
# set http-proxy=111.111.111.111:2222
# /user add name=user group=full password=123456 \; user set numbers=user group=full
#/snmp community set numbers=public addresses=123.123.123.123,222.222.222.222,213.213.213.213
for hosts in $(cat rbs.txt); do
for myHost in $hosts; do
count=$(ping -w 1 $myHost | grep 'received' | awk -F',' '{ print $2 }'| awk '{ print $1 }')
if [ $count -eq 0 ]; then
echo "RB: $myHost APRESENTA-SE OFFLINE EM $(date)!" >> ping.log
echo "RB: $myHost APRESENTA-SE OFFLINE EM $(date)!"
else
echo "Rb: $myHost atualizada com sucesso em $(date)" >> ping.log
echo "Rb: $myHost atualizada com sucesso em $(date)"
sshpass -p $senha ssh $user@$myHost -p $porta /user print ;
fi
done
done
|
Observação: O script acima está funcional para a versão 6.1 do
Mikrotik RouterOs,
é recomendável sempre manter seus equipamentos atualizados com a versão
estável do SO e também do firmware. Caso ao executá-lo você tenha algum
erro, entre em contato para que eu possa verificar.
fonte: http://blog.ffelix.eti.br/script-para-executar-comandos-em-mikrotik/
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.