Push meddelelser på mobil via Linux CLI 2

Skrevet af: Patrick Kerwood

Forleden dag faldt jeg over denne side, pushover.net, som tilbyder via deres API, at sende push meddelelser til Android og iOS. Udover i Linux CLI kan deres API også bruges i PHP, Perl, Ruby og mange andre sprog.

Pushover er gratis at benytte, til gengæld koster app’en, til Android og iOS, 30,- hårdt tjente danske kroner.

For mig åbner det en ny måde at få scripts til at sende status beskeder på. Førhen satte jeg mine shell scripts til at sende en mail, som jeg modtog på min Android mobil. Denne metode er lidt bøvlet, da man skal sætte en SMTP server op. Pushover via commandline, behøver kun curl.

Start med at oprette din bruger på pushover.net, det er nemt, hurtigt og smerte frit.

Download og installer app’en fra Play/App Store.

Inden du kan bruge Pushover skal du oprette en “App” på din Pushover konto. Tryk på “Edit” ved “Your Applications” og derefter “Create a New Application”
Udfyld de nødvendige felter. Jeg selv, udfyldte kun navnet med “Linux CLI” og valgte et icon.
Tryk “Create Application”. Nu har din “App” fået en token, som du skal bruge senere.

Hvis ikke du allerede har installeret curl, så gør det.
apt-get install curl

Pushover API har nogle parameter som udfyldes. Nogle er påkrævet imens andre er valgfrie.
De påkrævede er som følgende.

  • token
  • user
  • message

De valgfrie parameter er.

  • device
  • title
  • url
  • url_title
  • priority
  • timestamp
  • sound

Læs mere om hvad de forskellige parameterer gør her, https://pushover.net/api

Oneliner
Mit første eksempel er en oneliner.
curl -s -F 'token=API_TOKEN' -F 'user=USER_KEY' -F 'title=Besked title' -F 'message=Dette er beskeden' https://api.pushover.net/1/messages.json

Udskift API_TOKEN med den token din “App” har fået og USER_KEY med din user key.
Jeg bruger single-quotes (‘ ‘) istedet for double-quotes (” “) da man fx. ikke kan sende tegn, som udråbstegn, (pga. bash tror jeg) med sidst nævnte.

Når du “registrer” din telefon, ved at logge ind i pushover app, får den et navn. Dette navn er device navnet. Hvis ikke du angiver device parameteren i onelineren, vil din meddelelse blive sendt til alle registreret enheder. Eventuel smid en -F 'device=DEVICE_NAME' i onelineren, for kun at sende til en bestemt enhed.

Script
Ved at bruge det i et script, får man lidt mere plads at lege på. Neden under er et eksempel på et script, hvor man bare skal ændre de 2 øverste variabler.

Copy/paste scriptet til en fil, gør den executeble og smid den i /use/locale/bin.
chmod +x pushovermv pushover /usr/locale/bin

Scriptet fungere nu på den måde, at første argument er titlen og det andet er meddelelsen.
pushover 'Dette er titlen' 'Dette er meddelelsen'

Hvis du vil have device med, skriver du ${3} i DEVICE variablen og sætter device navnet som et 3. argument. Dette kan du selvfølgelig gøre ved de andre parameterer også.
pushover 'Dette er titlen' 'Dette er meddelelsen' nexus4

Du kan nu nemt bruge API’en uden at skulle huske curl kommandoen og copy/paste din token osv. Du kan til med, smide den i enden af en kommando, som du ved tager lang tid, for at give dig en heads-up når den er færdig.

Bare smid nedenstående i enden af en kommando.
&& pushover 'Title' 'Meddelelse'

Et eksempel på det her. Når den er færdig med at flytte alle filer, får du en push meddelelse.
mv /sti/til/filer/* /sti/til/mappe && pushover 'Overførelser færdig' 'Alle dine overførelser er færdige'


5 aug 2013   | Alle · Programmer · Scripts

2 thoughts on “Push meddelelser på mobil via Linux CLI

  1. Reply Jonatan Høy Sørensen aug 13,2013 21:51

    Jeg har lige leget lidt med dette, og det blev da også sat fast op på min server :)

    Nu får jeg en besked hvis en bruger med root adgang logger ind, fail2ban blokere en bruger ved for mange login forsøg og når rtorrent er færdig med at hente mine linux iso torrents ;)

    Det bliver nok også sat op med lidt mere når jeg finder ud af hvad jeg skal bruge :D

    • Reply Patrick Kerwood aug 13,2013 22:19

      Hej Jonatan.

      Super fedt.. Får du de forskellige programmer til at kører et script eller bruger du mail funktionen? Skriv endelige hvis du får andre ideér til pushover.

Leave a Reply