#!/bin/bash # listclientmode: Lista la plantilla de arranque PXE para los clientes, # ya sea un equipo o un aula. # Nota: Si no existe un enlace entre el fichero PXE con la Ethernet del equipo y su # archivo plantilla, se considera que la plantilla por omisión es "default". # Uso: listclienmode NombrePC | NombreAula # Autores: Irina Gomez y Ramon Gomez - Univ. Sevilla, noviembre 2010 # Variables. PROG=$(basename $0) OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg PXEDIR=$OPENGNSYS/tftpboot/pxelinux.cfg # Control básico de errores. if [ $# -ne 1 ]; then echo "$PROG: Error de ejecución" echo "Formato: $PROG [NOMBRE_PC|NOMBRE_AULA]" exit 1 fi if [ ! -r $SERVERCONF ]; then echo "$PROG: Sin acceso a fichero de configuración" exit 2 fi # Obtener datos de acceso a la Base de datos. source $SERVERCONF # Comprobar si se recibe nombre de aula o de equipo. IDAULA=$(mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ "SELECT idaula FROM aulas WHERE nombreaula='$1';") if [ -n "$IDAULA" ]; then # Aula encontrada PCNAME=$(mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ "SELECT nombreordenador FROM ordenadores WHERE idaula='$IDAULA';") else # Buscar ordenador PCNAME=$(mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ "SELECT nombreordenador FROM ordenadores WHERE nombreordenador='$1';") fi if [ -z "$PCNAME" ]; then echo "$PROG: No existe ningún aula o equipo con el nombre \"$1\"" exit 1 fi for PC in $PCNAME; do PXE=$(mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ "SELECT arranque FROM ordenadores WHERE nombreordenador='$PC';") echo "Equipo $PC asociado a arranque tipo \"$PXE\"" done