PushOver en CLI

cli 25 mai 2016

Comme je vous le disais dans ma présentation de PushOver leur API est très simple à utiliser. Sans compter leurs FAQs qui détaillent tout de bout en bout, comme par exemple la marche à suivre pour envoyer une notification via CLI.

Dans ce tutoriel je prends l’exemple d’un script chargé d’aller télécharger un dossier en FTP, de l’extraire puis de déplacer les fichiers extraits vers un dossier traité par SyncThing (puis d’effacer les sources). Je souhaite maintenant recevoir une notification dès que tout ceci est réalisé.

En suivant les indications de PO je vois que le code qui m’intéresse est celui du CLI

curl -s \
  --form-string "token=APP_TOKEN" \
  --form-string "user=USER_KEY" \
  --form-string "message=hello world" \
  https://api.pushover.net/1/messages.json

Il me faut commencer par créer un nouvelle “application” dans mon compte PO afin d’obtenir son token.

posh posh1 posh2

Une fois le token récupéré je peux passer côté serveur. Il faut s’assurer d’avoir Curl d’installer ou le faire.

sudo apt-get install curl

Puis je peux créer mon script que je nomme simplement po.sh en y mettant les bonnes clés

curl -s \
  --form-string "token=AAAAAAA" \
  --form-string "user=BBBBBBB" \
  --form-string "message=DL et extraction OK pour $1, il est transmis vers SyncThing" \
  https://api.pushover.net/1/messages.json

Et le message approprié à mon utilisation comme vous le voyez. Sachant que le $1 permet d’afficher le nom du fichier traité par ce script. Ainsi, pour le tester, si je fais

bash po.sh fichier.1.abc.d

J’obtiens alors la notification suivante :

DL et extraction OK pour fichier.1.abc.d, il est transmis vers SyncThing

Il ne me reste plus qu’à rendre ce script exécutable et l’intégrer à mon script effectuant toutes les opérations sus-citées (dl, extraction, déplacement, suppression).

sudo chmod +x po.sh
connexion & copie FTP
unrar e "$TEMP_DIR""$2"/"*.rar" &>/dev/null "$FINAL_DIR"  && chmod -R 777 "$FINAL_DIR"
bash po.sh "$2" &>/dev/null
rm -rf "$TEMP_DIR""$2"

Et voilà… ça fait le café :)

testpo

Mots clés