Script para encender equipos mediante nombre | Algo de Linux

miércoles, 9 de octubre de 2013

Script para encender equipos mediante nombre

Alguien me preguntaba hoy cómo podía encender un equipo desde un script de forma remota, aprovechando que tenemos  almacenada la información de las máquinas en el servidor ldap.

Como es algo muy sencillo que podemos hacer simplemente apoyándonos en ldapsearch y teniendo instalado el paquete wakeonlan, pego aquí el script que lo hace.

A este script le indicamos como parámetro el nombre de la máquina y hará una búsqueda en ldap para obtener su MAC. Una vez obtenida, lo único que hace es lanzar el comando wakeonlan:

#!/bin/bash 
 
BROADCAST="172.19.145.255"
 
# Comprobamos si se ha introducido un parámetro
if [ $# -lt 1 ]; then
   echo "ERROR: Debe especificar el nombre del equipo a encender"
   echo "Sintaxis: $0 nombreequipo"
   exit
fi

EQUIPO=$1

MAC=`ldapsearch -xLLL -h ldap -b "dc=instituto,dc=extremadura,dc=es" cn=$EQUIPO | grep dhcpHWAddress|cut -f3 -d" "`

if [ ! $MAC ]; then
   echo "No existe ningún equipo con el nombre $EQUIPO."
else
   echo "Vamos a encender el equipo $EQUIPO con mac $MAC."
   wakeonlan -i $BROADCAST $MAC
fi


Por supuesto, para poder encender cualquier equipo por red, éste deberá tener activado el Wake-on-lan en la BIOS.

Publicado por primera vez en http://enavas.blogspot.com.es