#!/bin/bash #/** #@file listclientlive #@brief Lista la distribución ogLive asociada a los clientes, ya sea un equipo o un aula. #@usage listclientlive Ambito #@param Ambito nombre de ordenador o nombre de aula #@version 1.1.0 - Versión inicial basada en el script "listclientmode" #@author Ramón M. Gómez, ETSII Universidad de Sevilla #@date 2017-06-01 #**/ # Variables. OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} SERVERCONF=$OPENGNSYS/etc/ogserver.json TFTPDIR=$OPENGNSYS/tftpboot source $OPENGNSYS/lib/ogfunctions.sh || exit 1 # Control básico de errores. [ "$*" == "help" ] && help [ "$*" == "version" ] && version [ $# -eq 1 ] || raiseError usage [ "$USER" != "root" ] && raiseError access "Need to be root" source_json_config $SERVERCONF 2>/dev/null || raiseError access "Sin acceso a fichero de configuración" # Sustituir caracteres ' por \' para evitar inyección SQL. RESOURCE="${1//\'/\\\'}" # Obtener nombre de ordenador individual o todos los de una aula e indicar su plantilla asociada. dbexec "SELECT CONCAT_WS('', 'Equipo \"', ord.nombreordenador, '\" asociado a cliente \"', ord.oglivedir, '\" $([ -e $TFTPDIR/$OGLIVE ] || echo "(inexistente)")') FROM ordenadores AS ord JOIN aulas USING (idaula) WHERE aulas.nombreaula='$RESOURCE' OR ord.nombreordenador='$RESOURCE';"