🚧Comunicaciones servidor-móvil
Pushover
Pushover es una aplicación de notificaciones en tiempo real que permite recibir alertas en dispositivos móviles y de escritorio. Está diseñada para integrarse con sistemas, servidores y aplicaciones mediante una API sencilla, permitiendo enviar notificaciones push desde scripts, herramientas de monitorización (como Nagios o Zabbix) y otras plataformas automatizadas.
Características principales:
Compatible con iOS, Android y navegadores web.
API fácil de usar para integraciones con sistemas de monitoreo y automatización.
Soporte para prioridades y reintentos, asegurando que las alertas críticas sean atendidas.
Grupos y dispositivos múltiples, permitiendo recibir notificaciones en varios lugares simultáneamente.
Pushover nos da 30 dias de prueba para probar su funcionamiento por lo que más allá tendrás que pagar.
Vamos a ver como configurar una notificación al móvil paso por paso:
Primero, regístrate en la web para que te de el token de usuario (
user key
):

Crea un token de aplicación:


Al completar el proceso, arriba del todo del dashboard, tendrás el token de la app.
Descarga la aplicación de pushover en tu móvil y haz login configurando un nombre para el dispositivo: https://pushover.net/clients
Con ambos token crea un script:
sudo nano pushover_app.sh
Añádele el siguiente script con el token de la API y el username que hayas creado:
#!/usr/bin/env bash
# Este script mandará notificaciones a nuestro movil siguiendo la API
# Establecemos las variables:
_token='YOUR-API-TOKEN-HERE'
_user='YOUR-USER-KEY-HERE'
# Crearemos una función de bash para mandar notificaciones:
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
}
curl -s \
--form-string "token=aapnufyw99mwusvntmfygojq5abnmg" \
--form-string "user=ux8v6ivs1zjguy9cfm76hcedzyyazi" \
--form-string "title=hola" \
--form-string "message=marumba" \
https://api.pushover.net/1/messages.json
La explicación es la siguiente:
Se define una función llamada
push_to_mobile
que toma dos argumentos:$1
: Título de la notificación (t
), si no se proporciona, usa"cli-app"
por defecto.$2
: Mensaje de la notificación (m
).
Si el mensaje (
$m
) no está vacío, se ejecutacurl
para enviar una solicitud POST a la API de Pushover:--form-string "token=${_token}"
: Envia el API Token.--form-string "user=${_user}"
: Envia el User Key.--form-string "title=$t"
: Establece el título de la notificación.--form-string "message=$m"
: Contenido del mensaje.URL de la API:
https://api.pushover.net/1/messages.json
El uso de curl -s
(modo silencioso) evita que se impriman mensajes innecesarios en la consola. Puede ver más info en la documentación.
A continuación, ejecutaremos el script:
source pushover_app.sh
Y lo testearemos enviando una notificación (el primer parámetro t
es el título y el segundo parámetro m
es el mensaje):
push_to_mobile "bash-notification" "This is a test. Job foo failed on $HOSTNAME @ $(date)"
Recibirás una notificación en tu móvil a través de la app

Es posible también notificar por push y por correo a la vez (ten en cuenta que es necesario disponer de un servidor smtp, postfix por ejemplo), para ello haz uso del correo de notificaciones que te da y ejecuta el siguiente script:
#!/usr/bin/bin bash
# Variables del mail
subject="rsnapshot backup job failed at $HOSTNAME"
log_file="/path/to/my.log.txt"
from="webmaster@cyberciti.biz"
to="webmaster@cyberciti.biz"
# Arrancar diariamente un backup y generar un log
/usr/bin/rsnapshot daily 2>&1 | /root/bin/rsnapreport.pl > "${log_file}"
# Coger errores
status=$?
alogs="$(grep -E -wi '^ERROR:|ERROR|WARNING|WARNING:' $log_file)"
# Si falla, notificame
if [ $status -ne 0 ] || [ "$alogs" != "" ];
then
mail -A "$log_file" -s "$subject" -r "$from" "$to" <<< "Backup script failed with error. Check attached log file"
fi
Falta probarlo!
Origen del tutorial:
🚧 Ntfy
Send push notifications to your phone or desktop via PUT/POST
🚧 Gotify
Un servidor simple pero muy efectivo de envío y recepción de mensajes / alertas.

Última actualización