CronDrive

Monitoreo de cron jobs

Cómo funciona CronDrive

Le avisas a CronDrive cuándo parte tu job o script (opcional) y cuándo termina.

Para avisar que tu job partió, llama a https://job.crondrive.com/{token}/start.

Para avisar que tu job terminó, llama a https://job.crondrive.com/{token}/end/{exit code} con su código de salida.

CronDrive te envía una alerta cuando el código de salida no es 0, o cuando no recibe una llamada a tiempo. Tú eliges cuánto esperar antes de alertar, y puedes pausar las alertas.

Si varias ejecuciones seguidas salen mal, recibes una alerta por las tres primeras, y ninguna más hasta que una ejecución salga bien.

Para empezar

O deja que un agente de IA como Claude Code lo haga por ti: mira Configurar desde un agente de IA.

  1. Regístrate en CronDrive.
  2. Crea un job nuevo con la expresión cron de tu job.

    Ejemplo: el formulario de job nuevo
    Horario

    Todos los días a las 03:00 Los mismos cinco campos que en tu crontab: minuto, hora, día, mes y día de la semana.

    Allá son las 19:34 (UTC−03:00).

    La zona horaria del servidor donde corre el crontab, que puede no ser la tuya. Para verla, ejecuta esto en el servidor:

    timedatectl | grep "Time zone"

    Si el crontab define CRON_TZ, elige esa.

    Próximas ejecuciones

    • vie 16 oct, 03:00
    • sáb 17 oct, 03:00
    • dom 18 oct, 03:00
    • lun 19 oct, 03:00
    • mar 20 oct, 03:00
    Alertas

    Minutos de espera, desde la hora en que tocaba la ejecución, antes de enviar una alerta.

    Déjalo vacío si solo agregas la llamada de fin.

    La página del job muestra la línea para pegar en tu crontab:

    Ejemplo: la página del job

    Respaldo nocturno

    Monitoreando 0 3 * * * Todos los días a las 03:00 America/Santiago

    Última ejecución
    A tiempo mié 14 oct, 03:00
    Duración promedio
    12 minutos
    Próxima ejecución
    vie 16 oct, 03:00 luego sáb 17 oct, 03:00 y dom 18 oct, 03:00

    Alerta cuando una ejecución no ha partido 5 minutos después de la hora, o no ha terminado después de 60 minutos.

    Tu línea de crontab

    0 3 * * * curl -fsS -m 10 https://job.crondrive.com/uG2Exw/start; /path/to/job.sh; curl -fsS -m 10 https://job.crondrive.com/uG2Exw/end/$?

    Ejecuta crontab -e y reemplaza /path/to/job.sh por tu comando.

  3. Agrega las llamadas alrededor de tu comando. Por ejemplo, en Linux:

    Antes:

    0 */2 * * * partial_backup.sh

    Después:

    0 */2 * * * curl -fsS -m 10 https://job.crondrive.com/uG2Exw/start; partial_backup.sh; curl -fsS -m 10 https://job.crondrive.com/uG2Exw/end/$?

    La llamada de fin se hace siempre, con el código de salida del comando ($?), así que una ejecución fallida alerta de inmediato. La página de cada job muestra su línea, lista para copiar.

  4. Reanuda el monitoreo del job. Los jobs nuevos parten pausados: la página del job muestra cuándo llega la primera llamada, así puedes revisar la línea antes de que salga cualquier alerta.
  5. Recibes una alerta por email (y en Slack, si lo conectas) cuando una ejecución falla, o no parte o no termina a tiempo. El historial del job guarda cada ejecución y alerta:

    Ejemplo: el historial de un job que una noche no corrió

    Horas en America/Santiago.

    Hora
    mié 14 oct, 03:00 A tiempo Partió 03:00, terminó 03:11, duró 11 min.
    mar 13 oct, 03:00 No corrió Alertas enviadas a las 03:05 y 04:00.
    lun 12 oct, 03:00 A tiempo Partió 03:00, terminó 03:14, duró 14 min.
    dom 11 oct, 03:00 A tiempo Partió 03:00, terminó 03:12, duró 12 min.

Configurar desde un agente de IA (MCP)

CronDrive tiene un servidor MCP, así que un agente como Claude Code, Cursor o Codex puede configurar el monitoreo por ti: lee el crontab del servidor, crea un job por cada línea y agrega las llamadas a CronDrive.

  1. Crea un token en Configuración.
  2. Agrega el servidor a tu agente. En Claude Code:

    claude mcp add --transport http --scope user crondrive https://crondrive.com/mcp --header "Authorization: Bearer <token>"

    Otros agentes necesitan la URL del servidor, https://crondrive.com/mcp, y el header Authorization: Bearer <token>.

  3. Pídeselo en el servidor: “Monitorea los cron jobs de este servidor con CronDrive.”

El agente crea los jobs pausados, te muestra las nuevas líneas del crontab y reanuda los jobs cuando las líneas están instaladas. Después puedes preguntarle por tus jobs, por ejemplo por qué falló uno anoche.

Herramienta Descripción
list_jobs Tus jobs, con su última y su próxima ejecución
get_job Un job, con su línea de crontab
create_job Crea un job, pausado, y devuelve su línea de crontab
update_job Cambia el nombre, el horario, la zona horaria o las alertas de un job
pause_job Pausa el monitoreo de un job
resume_job Reanuda el monitoreo de un job
list_runs Las ejecuciones de un job, o solo las que fallaron

Los jobs solo se borran aquí, para que un agente no pierda su historial por error. Un token da acceso a todos tus jobs; revócalo en Configuración cuando ya no lo uses.

Integración con Slack

Si tu equipo usa Slack, CronDrive puede enviar las alertas a un canal de Slack.

Conéctalo en Configuración y elige el canal para las alertas.

Referencia de la API

Descripción Endpoint
Avisar que el job partió GET https://job.crondrive.com/{token}/start
Avisar que el job terminó, con su código de salida; uno distinto de 0 alerta GET https://job.crondrive.com/{token}/end/{exit code}
Avisar que el job terminó, sin código de salida GET https://job.crondrive.com/{token}/end
Pausar el monitoreo; no se envían alertas GET https://job.crondrive.com/{token}/pause
Reanudar el monitoreo GET https://job.crondrive.com/{token}/resume

Cada llamada responde 200 con el cuerpo vacío, también con un token desconocido. Cada token acepta una llamada por segundo.