?>/script>'; } ?> Sintaxis para ejecutar script desde rc.local Widgets Magazine

Autor Tema: Sintaxis para ejecutar script desde rc.local  (Leído 9404 veces)

0 Usuarios y 1 Visitante están viendo este tema.

txutxy

  • Visitante
Re: Sintaxis para ejecutar script desde rc.local
« Respuesta #20 en: 24-06-2016, 19:03 (Viernes) »
No me gusta esto que haceis de escribir ficheros temporales, no veo la necesidad. Así que he creado mi propia versión del script tomando la idea del "semáforo" de Tki2000. El semáforo sería la variable FLAG.

Código: [Seleccionar]
#!/bin/sh
# MAC watchdog, checks if a MAC device exists on the network and alerts by sending an email
# 2016 by danitool, Tki2000, txutxy
CORREO="mi correo@gmail.com"
MAC="00:11:22:33:44:55"
RANGO_IP=192.168.3.1-254
FLAG=0

while :
do
MACSTATE=`nmap -v -sP $RANGO_IP|grep $MAC`
if [ "$MACSTATE" ] && [ $FLAG -eq 0 ]; then
echo -e "Subject:María está en casa." | sendmail $CORREO
FLAG=1
elif [ -z "$MACSTATE" ] && [ $FLAG -eq 1 ]; then
echo -e "Subject:María se ha ido." | sendmail $CORREO
FLAG=0
fi

sleep 5m
done

Creo que con el sleep de 5m en el loop es suficiente. He tratado de simplificar al máximo el script, no sé si se puede simplificar todavía más. Tampoco lo testé en Openwrt, intuyo que debería funcionar pero no puedo asegurarlo.

El script envia correo solo cuando hay un cambio de estado entre MAC detectada y MAC no detectada.


Excelente, funcionando perfectamente. >:(
Pd: que famosa se ha hecho la "Mary" en un momento...si ella supiera... ^-^ ;D
« Última modificación: 24-06-2016, 19:12 (Viernes) por txutxy »