Reiniciar servidor con una llamada (elastix)

Hola, hoy vamos a implementar un agi para reiniciar un servidor al hacer una llamada, muy util cuando tenemos algun servidor que este presentando problemas y no estemos cerca para conectarnos.

Primero vamos a agregar la extensión que va a reiniciar el servidor

Modificamos el archivo /etc/asterisk/extencion_custom.conf
nano /etc/asterisk/extensions_custom.conf

En este archivo agregamos al contexto from-internal-custom la siguiente linea:
include => reiniciar

y en parte del final de archivo agregamos
[reiniciar]
exten => 200,1,answer()
exten => 200,n,agi(bar-zone.agi)
exten => 200,n,Wait(6)
exten => 200,n,hangup

ahora creamos el archivo bar-zone.agi con:
nano /var/lib/asterisk/agi-bin/bar-zone.agi

este contendra lo siguiente:
#! /bin/bash
sudo reboot

le agregamos los permisos y hacemos el cambio de propietario
chmod 777 /var/lib/asterisk/agi-bin/bar-zone.agi
chown asterisk:asterisk /var/lib/asterisk/agi-bin/bar-zone.agi

Ya casi esta, vamos a darle los permisos a elastix para que pueda reniciar el servidor modificando el archivo sudoers, este deve de ser modificado con visudo
visudo -f /etc/sudoers

agregamos al final las siguientes lineas:
asterisk ALL = NOPASSWD: /sbin/reboot
asterisk ALL = NOPASSWD: /sbin/halt

guardamos con :wq

ahora solo queda reiniciar los servicios de elastix con:
amportal restart

y listo, al marcar la extencion 200 se va a reiniciar el servidor. Tambien podriamos ponerle la linea “exten => 200,n,Authenticate(1234)” despues del “exten => 200,1,answer() ” en el archivo extension_custom.conf para que te pida la contraseña 1234 para continuar con el reinicio

Entradas más populares de este blog

Kgpg en ubuntu

Como redireccionar el trafico a una nueva IP con IPtables