LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Una de las tareas esenciales para los desarrolladores y administradores de sistemas es recibir una notificación de alerta sobre servicios fallidos o quedarse sin espacio en disco y otras fallas críticas. Veamos cómo enviar o enviar un mensaje directo a un dispositivo móvil con tecnología Apple iOS o Google Android.

Cómo enviar/notificar mensajes a iOS y Android en tiempo real.

Podríamos (no va ser el caso) utilizar el servicio de notificaciones push de AWS SNS para enviar una alerta directamente a una aplicación en un dispositivo móvil. Sin embargo, hoy voy a usar un servicio de aplicación sencillo llamado Pushover. Es una aplicación sencilla para recibir notificaciones en tiempo real en Android, iPhone, iPad y escritorio, incluidos Android Wear y Apple Watch. Veamos cómo usar Linux para enviar notificaciones a un dispositivo Android o iOS.

¿Por qué enviar notificaciones push desde la CLI de Linux?

Como desarrollador independiente y administrador de sistemas de Linux, necesitaba una forma sencilla de recibir una notificación para mis proyectos paralelos mediante la API. Puedo recibir una notificación por copias de seguridad fallidas o mi servicio Nginx sobrecargado debido a problemas o la réplica de solo lectura de MySQL no está sincronizada. Mi búsqueda terminó con Pushover. Sin embargo, no es un servicio gratuito. Para usar Pushover para usted o un grupo pequeño, es solo una compra única de USD $ 5 en cada plataforma. Puedes enviar 7.500 mensajes al mes, lo que es más que suficiente para mis necesidades. También tienen la opción de enviar mensajes para un grupo de desarrolladores y equipos de TI. Mis criterios eran simples:

  1. Necesitaba soporte para mis scripts Perl, Python y bash/shell.
  2. Debe empujar la notificación al iPhone.
  3. No debe ser muy caro.

El servicio Pushover parece cumplir con todos mis requisitos. Suficiente charla, ensuciemos nuestras manos con algunos ejemplos.

Paso 1: regístrate en Pushover

Primero descargue los clientes de dispositivos Pushover :

  • versión de Android
  • Versión iOS (iPhone, iPod Touch y iPad)

Asegúrese de suscribirse al servicio o de obtener una cuenta de prueba de siete días. Una vez que haya iniciado sesión, registre su aplicación cli, configure su nombre y obtenga un token API a cambio.

Paso 2: cree una secuencia de comandos API contenedora de secuencias de comandos de shell

Cree un nuevo script de shell de la siguiente manera:

#!/usr/bin/env bash
# Purpose: Send notification to phone - push/send message ios and android using API from my Linux box/vm/server
# Author: Vivek Gite
# 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
}

A continuación, utilice el comando fuente :

source ~/bin/cli_app.sh

Pruébalo:

push_to_mobile "bash-notification" "This is a test. Job foo failed on $HOSTNAME @ $(date)"

Inmediatamente recibiré una notificación en mi teléfono:


Shell envió notificaciones automáticas a mi móvil desde la línea de comandos de Linux

Cómo enviar correos electrónicos y notificaciones automáticas a su teléfono desde un script

Podemos usar simplemente el comando sendmail o el comando mail de la siguiente manera desde nuestros scripts de shell:

#!/usr/bin/bin bash 
# Wrapper backup-script.sh de Vivek Gite bajo GPL v2.0+ 
# ------------------------ ------------------------------- 
# 
# Establecer cosas de correo electrónico 
# advertencia: debe necesitar smtpd preconfigurado como sendmail/postfix 
# 
subject = "el trabajo de copia de seguridad de la instantánea falló en $HOSTNAME " 
log_file="/path/to/my.log.txt" 
from="Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo." 
to="Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo." 
# 
# iniciar la copia de seguridad diaria y establezca el registro en ${log_file} 
# todos los informes creados por el script rsnapreport.pl, incluido el ERROR 
#
/usr/bin/rsnapshot daily  2>&1 | /root/bin/rsnapreport.pl > "${log_file}"
 
# Catch errors 
status=$?
alogs="$(grep -E -wi '^ERROR:|ERROR|WARNING|WARNING:' $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

Conclusión

Hasta ahora, el servicio y la aplicación Pushover me funcionaron muy bien. Puedo enviar/enviar mensajes fácilmente a dispositivos iOS y Android utilizando scripts de Shell/Perl/Python.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías