Connect with us

Linux

Come inviare / inviare messaggi a iOS e Android dalla CLI di Linux

Una delle attività essenziali per gli sviluppatori e l’amministratore di sistema è ricevere una notifica di avviso sui servizi non riusciti o l’esaurimento dello spazio su disco e altri errori critici. Vediamo come inviare o inviare un messaggio diretto a un dispositivo mobile alimentato da un telefono Apple iOS o Google Android.

 

Come inviare / inviare messaggi a iOS e Android in tempo reale

Possiamo utilizzare il servizio di notifica push AWS SNS per inviare un avviso direttamente a un’applicazione su un dispositivo mobile. Tuttavia, oggi userò il servizio app semplice chiamato Pushover. È una semplice app per ricevere notifiche in tempo reale su Android, iPhone, iPad e desktop, inclusi Android Wear e Apple Watch.

Perché inviare notifiche?

In qualità di sviluppatore indipendente e amministratore di sistema Linux, avevo bisogno di un modo semplice per ricevere una notifica per i miei progetti collaterali utilizzando l’API. Posso ricevere una notifica per backup non riusciti o il mio servizio Nginx è sovraccarico a causa di problemi o replica di sola lettura MySQL che non è sincronizzata. La mia ricerca si è conclusa con Pushover. Tuttavia, non è un servizio gratuito. Per utilizzare Pushover per te o un piccolo gruppo, è solo un acquisto una tantum di $ 5 su ciascuna piattaforma. Puoi inviare 7.500 messaggi al mese, che è più che sufficiente per le mie esigenze. Hanno anche un’opzione per inviare messaggi a un gruppo di sviluppatori e team IT. I miei criteri erano semplici:

  1. Avevo bisogno di supporto per i miei script Perl, Python e bash / shell.
  2. È necessario inviare la notifica all’iPhone.
  3. Non deve essere molto costoso.

Il servizio Pushover sembra soddisfare tutte le mie esigenze. Basta parlare, sporciamoci le mani con alcuni esempi.

Passaggio 1: iscriviti a Pushover

Primo download dei client del dispositivo Pushover:

  • Versione Android
  • Versione iOS (iPhone, iPod Touch e iPad)

Assicurati di iscriverti al servizio o di ottenere un account di prova di sette giorni. Una volta effettuato l’accesso, registra la tua applicazione cli, imposta il suo nome e ottieni in cambio un token API.

Passaggio 2: creare uno script API wrapper di script di shell

Crea un nuovo script di shell come segue:
$ vi ~/bin/cli_app.sh
Aggiungi il codice:

#!/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
}

Quindi, usa il comando source:
$ source ~/bin/cli_app.sh
Provalo:
$ push_to_mobile "bash-notification" "This is a test. Job foo failed on $HOSTNAME @ $(date)"
Immediatamente riceverò una notifica sul mio telefono:

Shell ha inviato notifiche push al mio iPhone dalla riga di comando di Linux

Come inviare e-mail e notifiche push al telefono dallo script

Possiamo usare semplicemente il comando sendmail o il comando mail come segue dai nostri script di 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

Vedere i seguenti tutorial per ulteriori informazioni sull’invio di e-mail dalla CLI:

Conclusione

Finora, il servizio e l’app Pushover hanno funzionato alla grande per me. Posso facilmente inviare / inviare messaggi a dispositivi iOS e Android utilizzando script shell / Perl / Python.

 


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi