Como configuro o serviço Pushover para saber quando meu Pi está sendo desligado ou inicializado?

9

Gostaria de configurar meu Raspberry Pi para saber quando ele é ativado ou desativado por meio da API de curvatura do serviço Pushover . Quais são as etapas para fazer isso?

Isso surgiu enquanto eu estava lendo esta pergunta.

Zlatko
fonte

Respostas:

8

Muitas distribuições, incluindo Arch e Debian / Raspbian, usam initscripts para inicializar o sistema, e você pode usá-las para executar comandos arbitrários. Você precisa instalar um script semelhante ao seguinte em /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

Você deve se registrar no serviço Pushover e inserir seu token de aplicativo na TOKENvariável e sua chave de usuário na USERvariável.

Teste-o no seu diretório pessoal primeiro e depois mova-o para /etc/init.d/pushover. Você deve garantir que seja executável e possuído pela raiz.

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

Referências

  1. Como carregar um módulo no momento da inicialização?
  2. Como acesso o nome da distribuição na linha de comando?
  3. Pushover
Alex Chamberlain
fonte