Come posso impostare il servizio Pushover per comunicarmi quando il mio Pi si sta spegnendo o si sta avviando?


9

Vorrei configurare il mio Raspberry Pi per comunicarmi quando è attivo o inattivo tramite l'API curl del servizio Pushover . Quali sono i passaggi per farlo?

Questo è emerso mentre leggevo questa domanda.

Risposte:


8

Molte distribuzioni, tra cui Arch e Debian / Raspbian, usano initscripts per inizializzare il sistema e puoi usarle per eseguire comandi arbitrari. È necessario installare uno script simile al seguente in /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

È necessario registrarsi con il servizio Pushover e immettere il token dell'app nella TOKENvariabile e la chiave utente nella USERvariabile.

Provalo prima nella tua home directory, quindi spostalo in /etc/init.d/pushover. È necessario assicurarsi che sia eseguibile e di proprietà di root.

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

Riferimenti

  1. Come carico un modulo all'avvio?
  2. Come accedo al nome della distribuzione dalla riga di comando?
  3. cosa facile
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.