Estava querendo saber se você poderia me ajudar. Eu estou tentando executar um script bash em um servidor zabbix que vai puxar configurações de execução de hosts para um servidor TFTP. Eu tenho o seguinte script e funciona bem. O único problema é que, quando diz hostIP=$1
e hostName=$2
, só funciona se eu inserir manualmente o IP e o nome do host no script ou quando eu o chamar. Existe alguma maneira eu posso executar este script sem ter que inserir manualmente o nome de host e IP? Eu tenho como 3000 dispositivos e gostaria que isso ativamente puxar como alterar configurações.
Dentro do Zabbix, em Confguration of Actions, eu tenho o comando rodando no servidor Zabbix para rodar o script bash com {HOST.IP} {HOST.HOST} e esperava que isso puxasse o ip e hostname automaticamente do zabbix, mas não parece ser o caso. Em condições, eu tenho isso de tal forma que sempre que alguém wr uma configuração, ele irá disparar um alarme e deve executar o script. Uma vez acionado o alarme, espero que haja algum método que me permita extrair o ip e o nome do host do alerta e executar o script nesse IP / host. Alguém pode me ajudar?
#!/bin/bash
#accept host IP and TFTP-server from Zabbix
hostIP=$1
hostName=$2
tftp="x.x.x.x" (where this is an ip)
####iOS strings####
#execute copy run start
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 i 4 #This specifies
type of file to copy from (running config)
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 i 3 #This specifies
type of file to copy to (startup config)
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 1 #This checks
for active status of table entry
#execute copy run tftp $tftp on host and transfer config to TFTP server
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.2.112 i 1 #This uses tftp
to push config
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.3.112 i 4 #This specifies
type of file to copy from (running config)
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.4.112 i 1 #This specifies
type of file to copy to (network file)
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.5.112 a $tftp
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.6.112 s $hostName #-
config
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.9.96.1.1.1.1.14.112 i 1
####CatOS strings####
#execute copy run tftp $tftp on host and transfer config to TFTP server
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.5.1.5.1.0 s $tftp
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.5.1.5.2.0 s $hostName #-config
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.5.1.5.3.0 i 1
snmpset -c -v 1 $hostIP 1.3.6.1.4.1.9.5.1.5.4.0 i 3
#END
echo "Script completed successfully, please visit TFTP server to find
backup"