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:

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.

-
Empleo
- El CEO de IBM no cree que la IA vaya a reemplazar a los programadores en el futuro cercano
- El desempleo en el sector de TI en Estados Unidos aumenta al 5,7 %. ¿Está la IA afectando a los empleos tecnológicos?
- Un estudio afirma que el incumplimiento de los plazos hace que la gente juzgue el trabajo con más dureza
- Los buscadores de empleo inundan a los reclutadores con CV generados por IA
- Esto es lo que sucede cuando le das "dinero gratis" a la gente
- ¿Una semana laboral de tres días? Experimentos de inicio para atraer talento
- Seguir el valor de las criptomonedas en la terminal de Linux en tiempo real
- Reportero deplora dejar entrar a la gente de Amazon en su casa
- La Economía Gig celebra el Trabaje Usted mismo Hasta Morir
- ¿Qué es la Economía Gig?
- El Ejercito Italiano se ahorra 29 millones de euros, con LibreOffice
- Economía Star Trek
- Las 25 empresas de Software que mejor pagan a sus empleados
- Google no es puro demonio como Facebook
- Facturar un diseño web sin ser autónomo (I)