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.
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é :)