Iniciar sesión Inicio Documentación de la API Agente Compartir Privacidad Soporte
Get Pling
aplicación para iPhone agente para macOS (.dmg) Linux Windows GitHub

Inicio / Documentación / Trabajos cron

Notificaciones push para trabajos cron

Una tarea de cron que falla en silencio es una copia de seguridad que no tienes. Añade una línea curl a tu crontab y Pling envía el resultado a tu iPhone en cuanto una tarea termina o falla. Para esto no se necesita ningún agente, solo la API HTTP de Pling y el curl que ya tienes.

Avisa cuando un trabajo termina (y cuando falla)

La forma más sencilla publica el mensaje como el cuerpo de la petición en /api/push/YOUR_TOKEN. Usa && para el éxito y || para el fallo:

0 3 * * * /usr/local/bin/backup.sh \
  && curl -sf https://api.plingpush.com/api/push/YOUR_TOKEN -d "Backup finished" \
  || curl -sf https://api.plingpush.com/api/push/YOUR_TOKEN -d "Backup FAILED"

Avisar solo en caso de fallo

Si las ejecuciones correctas deben ser silenciosas, conserva solo la rama || y sube la prioridad:

30 2 * * * /usr/local/bin/db-dump.sh || \
  curl -sf -X POST https://api.plingpush.com/api/push \
    -H "Content-Type: application/json" \
    -d '{"token":"YOUR_TOKEN","title":"DB dump failed","message":"check db-dump.sh on web-01","priority":"high"}'

Una función de shell reutilizable

Coloca esto en un script que cargues con source y luego llama a pling desde cualquier lugar. Define PLING_TOKEN al inicio del crontab para que cron pueda verlo:

pling() {
  curl -sf -X POST "https://api.plingpush.com/api/push" \
    -H "Content-Type: application/json" \
    -d "{\"token\":\"$PLING_TOKEN\",\"title\":\"$1\",\"message\":\"${2:-}\",\"priority\":\"${3:-normal}\"}" >/dev/null
}

# usage
long-running-job; pling "Job done" "exit $?"

Una sola línea con el formato GET

Para las configuraciones más minimalistas puedes pasar todo como parámetros de consulta, sin JSON ni cabeceras:

curl -s "https://api.plingpush.com/api/push/YOUR_TOKEN?title=Backup&message=done&priority=high"
Tip: running this on a server you also want to watch? The Agente de host de Pling adds live CPU, memory, and disk metrics and lets you run scheduled commands remotely from the app.
Where to get your token: create an API token in the Pling app, or at plingpush.com/account. The full reference, including channels and priorities, is in the Documentación de la API.

Preguntas frecuentes

¿Cómo recibo una notificación push solo cuando el trabajo de cron falla?

Encadena el curl con ||: your-job || curl .... El shell solo ejecuta la parte posterior a || cuando el comando termina con un código distinto de cero, así que recibes un aviso en los fallos y permaneces en silencio cuando todo va bien.

¿Esto necesita el agente host de Pling?

No. Enviar una notificación push es una simple llamada HTTPS, así que cualquier máquina con curl funciona. El agente del host es independiente y añade métricas en vivo y comandos programados remotos, pero no es necesario solo para enviar notificaciones.

Cron no ve mi token. ¿Por qué?

Cron se ejecuta con un entorno mínimo y no carga el perfil de tu shell. Define el token dentro del propio crontab (PLING_TOKEN=... al principio) o léelo desde un archivo en el comando, en lugar de depender de ~/.bashrc.

¿Esto funciona en macOS?

Sí. La misma línea de crontab funciona en macOS. Para tareas gestionadas por launchd, llama al mismo curl al final de tu script.

Más recetas: GitHub Actions · Python · referencia completa de la API