segunda-feira, 9 de maio de 2016

Mikrotik - script para adicionar comandos para mk via ssh sem api

#!/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=22

# 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 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $user@$myHost -p $porta < mk-ovpn.txt
        fi
    done
done 
 
fonte: http://blog.ffelix.eti.br/script-para-executar-comandos-em-mikrotik/

0 comentários: