Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 414

Corrige errores en el script adormir.sh

Ver diferencias:

tareas_puppet/servidores_aula/squeeze/ltsp2012_adormir/files/adormir.sh
#/bin/bash
#Poner en el crontab para que se ejecute cada minuto.
#Comprueba si hay alguien logueado en el terminal o bien está ejecutandose
#el cañon vlc de Aulalinex o el vnc-proyector
#Opciones para ver si hay alguien logado
# logado=$(ps aux | grep "ssh.*192.168.0.254" | grep -v grep | wc -l)
# logado=$(cat /var/run/ltsplogin192.168.0.254) <-devuelve el login del usuario que ha entrado, lo malo es que si sale de sesión no se borra.
# Y la que usamos, copiada de controlaula:
logado=$(ps aux | grep "LTSP_CLIENT" | grep -v grep | wc -l) #Si alguien esta logado, la conexion con el servidor de aula tiene esta cadena.
#Numero de minutos de espera para apagar el equipo si nadie ha hecho login.
#Si no queremos que se apaguen nunca , ponemos un valor muy alto, inalcanzable en una clase normal (1000 minutos, por ejemplo)
#El script es invocado cada minuto por cron, eso puede hacer que tarde hasta
#un minuto más de lo indicado en apagarse.
TIMEOUT=5
testigo=/tmp/ocioso
segundos_timeout=$(expr $TIMEOUT \* 60 - 1)
logado_root=$(who | grep root | wc -l) #Si el root ha iniciado sesión por consola o ssh
vlcenuso=$(ps aux | grep vlc | grep -v grep | wc -l) #Por si se está proyectando video sin alumnos logados.
vncenuso=$(ps aux | grep vnc | grep -v grep | wc -l) #Por si se está proyectando escritorio sin alumnos logados.
mensajeuso=$(ps aux | grep mensaje-ltsp | grep -v grep | wc -l) #Por si está en uso mensaje-ltsp
if [ $logado -eq 1 -o $vlcenuso -ge 1 -o $vncenuso -ge 1 -o $logado_root -gt 0 -o $mensajeuso -gt 0 ]
then
test -e $testigo && rm $testigo
else
if [ ! -e $testigo ]
then
touch $testigo
else
seg1=$(stat -c%X $testigo)
seg2=$(date +%s)
segundos=$(expr $seg2 - $seg1)
if [ $segundos -gt $segundos_timeout ]
then
export XAUTHORITY=$(find /var/run -name Xauthority)
gxmessage -display :7 -timeout 30 -center -button "‌No apagar" "Este ordenador no se esta usando. El sistema se apagara en 30 segundos."
if [ $? -ne 101 ]
then
/sbin/ethtool -s eth0 wol g 2>/dev/null
/usr/bin/killall -9 x-session-manager
/sbin/poweroff -fp &
else
touch $testigo
fi
fi
fi
fi
tareas_puppet/servidores_aula/squeeze/ltsp2012_adormir/LEEME
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
--------------------------------------------
Destino : Servidores de aula
Acción : Modifica el fichero adormir.sh que se incluye en la imagen
para un correcto funcionamiento y actualiza la imagen
Notas : Modifica el fichero adormir.sh cambiando las condiciones de comparacion
para que los ordenadores no se apaguen cuando se esta utilizando
el proyector y la transmision de video sin usuarios validados.
INSTRUCCIONES DE INSTALACION DEL MODULO
---------------------------------------
Desempaquetar en /etc/puppet/modules
Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica-squeeze.pp
------------------------------------------------
Creado por:
Francisco Paniagua Sánchez
Administrador Informático del IES Francisco de Orellana (Trujillo).
24-Octubre-2012
tareas_puppet/servidores_aula/squeeze/ltsp2012_adormir/manifests/init.pp
class ltsp2012_adormir {
file { "/opt/ltsp/i386/root/adormir.sh":
owner=> root, group=> root, mode => 755,
source => "puppet:///ltsp2012_adormir/adormir.sh",
notify => Exec ["crear-imagen-adormir"],
}
exec { "crear-imagen-adormir":
command => "/usr/sbin/ltsp-update-image --arch i386",
refreshonly => true,
}
}

Exportar a: Unified diff