¿Cómo configuro el servicio Pushover para que me avise cuando mi Pi se apaga o se inicia?


9

Me gustaría configurar mi Raspberry Pi para que me avise cuando está arriba o abajo a través de la API curl del servicio Pushover . ¿Cuáles son los pasos para hacer esto?

Esto surgió mientras estaba leyendo esta pregunta.

Respuestas:


8

Muchas distribuciones, incluidas Arch y Debian / Raspbian, usan initscripts para inicializar el sistema, y ​​puede usarlas para ejecutar comandos arbitrarios. Debe instalar un script similar al siguiente en /etc/init.d.

#! /bin/sh
# /etc/init.d/pushover
#

# Some things that run always
touch /var/lock/pushover

TOKEN=
USER=

DIST=`cat /etc/os-release | perl -n -e '/^NAME=\"([a-zA-Z ]*)\"$/ && print "$1\n"'`

echo $TOKEN
echo $USER
echo $DIST

# Carry out specific functions when asked to by the system
case "$1" in
  start)
echo "Starting script pushover "
curl -s \
  --data-urlencode "token=$TOKEN" \
  --data-urlencode "user=$USER" \
  --data-urlencode "message=Raspberry Pi ($DIST) is starting." \
  https://api.pushover.net/1/messages
;;
  stop)
echo "Stopping script pushover"
curl -s \
  --data-urlencode "token=$TOKEN" \
  --data-urlencode "user=$USER" \
  --data-urlencode "message=Raspberry Pi ($DIST) is stopping." \
  https://api.pushover.net/1/messages
;;
  *)
echo "Usage: /etc/init.d/pushover {start|stop}"
exit 1
;;
esac

exit 0

Debe registrarse en el servicio Pushover e ingresar su token de aplicación en la TOKENvariable y su clave de usuario en la USERvariable.

Primero pruébelo en su directorio personal, luego muévalo a /etc/init.d/pushover. Debe asegurarse de que sea ejecutable y propiedad de root.

sudo chmod 755 /etc/init.d/pushover
sudo chown root:root /etc/init.d/pushover

Referencias

  1. ¿Cómo cargo un módulo en el momento del arranque?
  2. ¿Cómo accedo al nombre de la distribución en la línea de comando?
  3. Persona fácil de convencer
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.