Estat de l’aula en temps real

2 Juliol, 2008

Fa un dies va sortir el tema de que seria útil sabre l’estat de l’Aula en temps real. Fa molta mandra pujar a la universitat per a trobar l’Aula tancada. Encare estant a la universitat pujar tres pisos per no res fa molta ràbia. Havent descartat el deixar la webcam posada i accessible a través de web l’altre opció es fer un simple script.

L’script en qüestió simplement comprova si hi ha algun ordenador a l’aula encès i puja una imatge amb l’estat de l’aula i l’hora actual a través de ssh al servidor que volem. Deix l’script a la vostra disposició per si vos pot ser d’utilitat.

Estat actual de l’aula:

Estat actual de l'aula

#!/bin/bash
host=xxx.xxx.xxx.xxx # Servidor on es pujarà la imatge d'estat
path="/var/www/alinux_status.png" # Destí on es pujaran les imatges d'estat
imgpath="/root/scripts/img" # Path on es troben les imatges d'estat

# Carregam les variables de l'aula per sabre el nombre de PC's
. si_config

up_count=0
for i in `seq $pc_interval`
do
        # Feim un ping i ens quedam amb el nombre de paquets rebuts.
        status=$(ping -qc1 aulalinux$i |grep packets| cut -d" " -f4,4)
        if [ $status -gt 0 ]
        then
                up_count=`expr $up_count + 1`
        fi
done

# En funció del nombre de màquines que responen triam l'estat:
# 'Tancada' / 'Pareix Oberta' / 'Oberta'
if [ $up_count == 0 ]
then
        img=closed.png
elif [ $up_count -le 2 ]
then
        img=seems_opened.png
else
        img=opened.png
fi

# Inserim la data actual sobre la imatge i la pujam al host
convert -draw "text 0,32 '`date +%a\ %d/%m/%y\ %T`'" $imgpath/$img $imgpath/tmp.png
scp $imgpath/tmp.png root@$host:$path