OL’une des tâches essentielles pour les développeurs et l’administrateur système consiste à recevoir une notification d’alerte concernant les services défaillants ou le manque d’espace disque et d’autres défaillances critiques. Voyons comment envoyer ou envoyer un message direct vers un appareil mobile alimenté par un téléphone Apple iOS ou Google Android.
ANNONCES
Comment envoyer / envoyer des messages vers iOS et Android en temps réel
Nous pouvons utiliser le AWS SNS service de notification push pour envoyer une alerte directement à une application sur un appareil mobile. Cependant, aujourd’hui, je vais utiliser un service d’application simple appelé Pushover. Il s’agit d’une application simple pour obtenir des notifications en temps réel sur Android, iPhone, iPad et bureau, y compris Android Wear et Apple Watch.
Pourquoi envoyer des notifications?
En tant que développeur indépendant et administrateur système Linux, j’avais besoin d’un moyen simple d’obtenir une notification pour mes projets parallèles à l’aide de l’API. Je peux recevoir une notification en cas d’échec des sauvegardes ou de surcharge de mon service Nginx en raison de problèmes ou d’une réplique en lecture seule MySQL manquant de synchronisation. Ma recherche s’est terminée avec Pushover. Cependant, ce n’est pas un service gratuit. Pour utiliser Pushover pour vous-même ou un petit groupe, il s’agit simplement d’un achat unique de 5 USD sur chaque plate-forme. Vous pouvez envoyer 7 500 messages par mois, ce qui est plus que suffisant pour mes besoins. Ils ont également la possibilité d’envoyer des messages à un groupe de développeurs et d’équipes informatiques. Mes critères étaient simples:
- J’avais besoin de support pour mes scripts Perl, Python et bash / shell.
- Doit pousser la notification vers l’iPhone.
- Ça ne doit pas être très cher.
Le service Pushover semble répondre à toutes mes exigences. Assez parlé, mettons la main à la pâte avec quelques exemples.
Étape 1 – Inscrivez-vous à Pushover
Premier téléchargement Pushover clients de périphérique:
- Version Android
- Version iOS (iPhone, iPod Touch et iPad)
Assurez-vous de vous abonner au service ou d’obtenir un compte d’essai de sept jours. Une fois connecté, enregistrez votre application cli, définissez son nom et obtenez un Jeton d’API en retour.
Étape 2 – Créer un script d’API wrapper de script shell
Créez un nouveau script shell comme suit:$ vi ~/bin/cli_app.sh
Ajoutez le code:
#!/usr/bin/env bash # push/send message ios and android using API from my Linux box # Set API stuff _token='YOUR-API-TOKEN-HERE' _user='YOUR-USER-NAME-HERE' # Bash function to push notification to my iPhone # yes you can push/send message android too using the same function push_to_mobile(){ local t="${1:cli-app}" local m="$2" [[ "$m" != "" ]] && curl -s --form-string "token=${_token}" --form-string "user=${_user}" --form-string "title=$t" --form-string "message=$m" https://api.pushover.net/1/messages.json } |
Ensuite, utilisez le commande source:$ source ~/bin/cli_app.sh
Essaye-le:$ push_to_mobile "bash-notification" "This is a test. Job foo failed on $HOSTNAME @ $(date)"
Je recevrai immédiatement une notification sur mon téléphone:
Comment envoyer des notifications par e-mail et push sur votre téléphone à partir d’un script
Nous pouvons simplement utiliser la commande sendmail ou mail comme suit à partir de nos scripts shell:
#!/usr/bin/bin bash # Wrapper backup-script.sh by Vivek Gite under GPL v2.0+ # ------------------------------------------------------- # # Set email stuff # warning: must need pre-configured smtpd such as sendmail/postfix # subject="rsnapshot backup job failed at $HOSTNAME" log_file="/path/to/my.log.txt" from="webmaster@cyberciti.biz" to="webmaster@cyberciti.biz" # # start daily backup and set log to ${log_file} # all reports created by rsnapreport.pl script including ERROR # /usr/bin/rsnapshot daily 2>&1 | /root/bin/rsnapreport.pl > "${log_file}" # Catch errors status=$? alogs="$(egrep -w '^ERROR:|ERROR' $log_file)" # If failed, notify using both email and push message to my phone if [ $status -ne 0 ] || [ "$alogs" != "" ]; then mail -A "$log_file" -s "$subject" -r "$from" "$to" "Backup script failed with error. Check attached log file" # # Push/send message to iOS and Android using Pushover API too # source ~/bin/cli_app.sh push_to_mobile "backup-script" "$subject. See $to email for detailed failed log." >/dev/null fi |
Consultez les didacticiels suivants pour plus d’informations sur l’envoi d’e-mails à partir de la CLI:
Conclusion
Jusqu’à présent, le service et l’application Pushover ont très bien fonctionné pour moi. Je peux facilement envoyer / envoyer des messages vers des appareils iOS et Android en utilisant des scripts shell / Perl / Python. Découvrez toutes les autres suggestions sur mon Fil Twitter:
Nous utilisons une solution payante (API / applications) pour envoyer des messages critiques concernant l’infrastructure informatique (serveurs / machines virtuelles / routeurs / pare-feu) aux administrateurs système et aux équipes d’exploitation des téléphones iOS / Android. Existe-t-il des applications / services * gratuits * pour des projets * personnels * pour envoyer des notifications en temps réel à iOS / Android?
– Le meilleur blog Linux sous Unixverse (@nixcraft) 1 juin 2020
ANNONCES