Revisión 160
Añadido por Alfonso Pastor hace alrededor de 14 años
tareas_puppet/servidores_aula/apagar_no_usados/files/comprobar_login | ||
---|---|---|
#Comprueba si el equipo lleva mas de X minutos en la pantalla login, y si es
|
||
#así, lo apaga.
|
||
|
||
*/1 * * * * root /root/adormir.sh
|
||
|
tareas_puppet/servidores_aula/apagar_no_usados/files/S99_borra_testigo.sh | ||
---|---|---|
#/bin/bash
|
||
#para guardar en /usr/share/ldm/rc.d de la imagen de los clientes.
|
||
#Debe empezar por SXX para que se ejecute en el arranque de sesión en el orden XX
|
||
#Borra el fichero /root/ocioso cuando hace login un usuario, para desactivar el
|
||
#apagado por inactividad.
|
||
|
||
test -e /root/ocioso && rm /root/ocioso
|
||
|
||
|
||
tareas_puppet/servidores_aula/apagar_no_usados/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-proyectr
|
||
|
||
#logado=$(ps aux | grep "ssh.*192.168.0.254" | wc -l)
|
||
logado=$(ps aux | grep "LTSP_CLIENT" | wc -l) #Si alguien esta logado, la conexion con el servidor de aula tiene esta cadena.
|
||
vlcenuso=$(ps aux | grep vlc | wc -l) #Por si se está proyectando video sin alumnos logados.
|
||
vncenuso=$(ps aux | grep vnc | wc -l) #Por si se está proyectando escritorio sin alumnos logados.
|
||
if [ $logado -gt 1 -o $vlcenuso -gt 1 -o $vncenuso -gt 1 ]
|
||
then
|
||
test -e /root/ocioso && rm /root/ocioso
|
||
else
|
||
if [ ! -e /root/ocioso ]
|
||
then
|
||
touch /root/ocioso
|
||
else
|
||
seg1=$(stat -c%X /root/ocioso)
|
||
seg2=$(date +%s)
|
||
segundos=$(expr $seg2 - $seg1)
|
||
if [ $segundos -gt 121 ] # mas de 3 minutos encendido sin que entre nadie.
|
||
then
|
||
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
|
||
/etc/init.d/avahi-daemon stop
|
||
/usr/sbin/ethtool -s eth0 wol g 2>/dev/null
|
||
/usr/bin/killall -9 x-session-manager
|
||
/sbin/poweroff -fp &
|
||
else
|
||
touch /root/ocioso
|
||
fi
|
||
fi
|
||
fi
|
||
fi
|
||
tareas_puppet/servidores_aula/apagar_no_usados/leeme.txt | ||
---|---|---|
Apaga automaticamente los thinclient que lleven mas de X minutos en la pantalla
|
||
de login sin haber entrado ningún usuario.
|
||
Por defecto espera 4-5 minutos, pero se puede modificar en el script files/adormir.sh.
|
||
Si un usuario hace logon en el equipo, se desactiva el apagado hasta que salga.
|
||
|
||
Muestra un mensaje 30 segundos antes del apagado, que permite al usuario parar el
|
||
apagado si desea entrar.
|
||
|
||
Se incluye en clase-especifica como cualquier otra tarea puppet de las aplicadas.
|
||
|
||
|
||
31-1-2011
|
||
Alfonso Pastor.
|
||
IES Virgen de Guadalupe.
|
tareas_puppet/servidores_aula/apagar_no_usados/manifests/init.pp | ||
---|---|---|
|
||
class apagar_no_usados {
|
||
|
||
file { "/opt/ltsp/i386/usr/share/ldm/rc.d/S99_borra_testigo.sh":
|
||
owner => root, group => root, mode => 755,
|
||
source => "puppet:///apagar_no_usados/S99_borra_testigo.sh",
|
||
notify => Exec["actualiza-imagen-apagado"],
|
||
}
|
||
|
||
file { "/opt/ltsp/i386/etc/cron.d/comprobar_login":
|
||
owner => root, group => root, mode => 644,
|
||
source => "puppet:///apagar_no_usados/comprobar_login",
|
||
notify => Exec["actualiza-imagen-apagado"],
|
||
}
|
||
file { "/opt/ltsp/i386/root/adormir.sh":
|
||
owner => root, group => root, mode => 755,
|
||
source => "puppet:///apagar_no_usados/adormir.sh",
|
||
notify => Exec["actualiza-imagen-apagado"],
|
||
}
|
||
exec { "instalar-gxmessage":
|
||
command => "/usr/sbin/chroot /opt/ltsp/i386 /usr/bin/apt-get -y update ; /usr/sbin/chroot /opt/ltsp/i386 /usr/bin/apt-get install -y gmessage ; /usr/sbin/chroot /opt/ltsp/i386 /usr/bin/dpkg --configure -a",
|
||
before => Exec["actualiza-imagen-apagado"],
|
||
unless => "/usr/sbin/chroot /opt/ltsp/i386 dpkg -l gmessage | cut -d' ' -f1 | grep ii > /dev/null",
|
||
notify => Exec["actualiza-imagen-apagado"],
|
||
}
|
||
|
||
exec { "instalar-gxmessage-mayhave-chroot":
|
||
command => "/bin/echo gmessage >> /opt/ltsp/i386/etc/pkgsync/mayhave",
|
||
before => Exec["actualiza-imagen-apagado"],
|
||
unless => "/bin/grep -i gmessage /opt/ltsp/i386/etc/pkgsync/mayhave > /dev/null",
|
||
notify => Exec["actualiza-imagen-apagado"],
|
||
}
|
||
|
||
|
||
exec { "actualiza-imagen-apagado":
|
||
command => "/usr/sbin/ltsp-update-image --arch i386",
|
||
refreshonly => true,
|
||
}
|
||
|
||
}
|
||
|
Exportar a: Unified diff
Tarea para apagar los thinclients pasado un tiempo sin que nadie haya hecho login en ellos