El problema de cron es que no pasa nada cuando falla. Ninguna página se cae, no se muestra ningún error; simplemente la copia de seguridad no está cuando la necesitas.
El patrón heartbeat
Asigna a cada trabajo una URL única. El trabajo la llama cuando termina con éxito. Un monitor espera la llamada cada N horas; si se retrasa, recibes una alerta.
Cron
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://hb.uptimepush.com/p/TOKENTimers de systemd
Añade ExecStartPost=/usr/bin/curl -fsS https://hb.uptimepush.com/p/TOKEN a la unidad de servicio.
CronJob de Kubernetes
Añade la llamada a curl al comando del contenedor con && para que solo se ejecute si tiene éxito.
GitHub Actions
Añade un paso final que llame a la URL con curl, guardando el token como secret.
Periodos de gracia
Establece un periodo de gracia algo mayor que la ejecución normal más larga del trabajo, para que una noche lenta no te despierte con una alerta.