LinuxParty
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:
- Necesitaba soporte para mis scripts Perl, Python y bash/shell.
- Debe empujar la notificación al iPhone.
- 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:
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.
-
LinuxBiz
- Cómo la comunidad de AlmaLinux apoyó la compatibilidad binaria de RHEL
- Instalar un ERP y CRM para tu Pyme, paso a paso
- Cómo enviar/notificar mensajes a iOS y Android desde la consola de Linux
- Zeit: una herramienta GUI para programar trabajos Cron y At en Linux
- Se piden más trabajos con talento open source: un nuevo informe de la Fundación Linux muestra que faltan talentos por cubrir
- Corea del Sur apuesta por el Software Libre y migrará de Windows a Linux
- Las 15 mejores herramientas de recuperación de datos de Linux: la elección de los profesionales
- 9 herramientas de productividad para Linux que merecen su atención
- Más poder en tu terminal con Tmux
- Generar y entregar informes de actividad del sistema usando los conjuntos de herramientas de Linux
- Las 10 mejores distribuciones Linux para el servidor para 2019
- Cómo desarrollar su propia distribución de Linux personalizada desde cero
- 5 ventajas que tiene LibreOffice sobre Microsoft Office
- RedHat y Canonical anuncian la futura disponibilidad de MicroSoft SQL Server
- Linux Cluster Management Console