Cron como servicio
Programa trabajos con expresiones estándar de 5 campos o macros @daily. Gestiona entradas vía REST, actívalas o desactívalas y establece expiración automática: sin SSH requerido.
# Crear un trabajo cron que se ejecute diariamente a las 9 AM
hoody cron create root \
--schedule "0 9 * * *" \
--command "/usr/local/bin/backup.sh" \
--comment "Copia de seguridad diaria a las 9 AM"
# Respuesta
[
"id": "7d3f2a1b-8c4e-4f9a-b2d5",
"schedule_human": "At 09:00",
"enabled": true
]
# Deshabilitar un trabajo temporalmente
hoody cron update root $ENTRY_ID --enabled false
# Entrada deshabilitada
Todos los patrones que necesitarás
Ocho expresiones con sus equivalentes en lenguaje humano, directamente del campo schedule_human de la API.
Horario de un vistazo
Cuatro entradas gestionadas en un eje continuo: próximas ejecuciones en azul, entradas deshabilitadas atenuadas. Basado en schedule_human y estado enabled.
daily-backup
A las 02:00
health-check
Cada 15 minutos
log-rotate
A las 00:00 el domingo
sync-reports
A las 09:00 de lun–vie
Gestionado o raw: tú decides
Entradas rastreadas por UUID con toggle y expiración vía la API JSON, o acceso directo al archivo crontab cuando necesitas el control total del flujo.
Entradas gestionadas
5 endpointsCRUD respaldado por UUID: crea, lee, actualiza y elimina trabajos cron vía JSON. Adjunta comentarios, activa o desactiva el estado y establece expiración automática sin tocar el crontab raw.
# Crear una entrada gestionada
POST /users/[user]/entries
[
"schedule": "0 9 * * *",
"command": "/usr/local/bin/backup.sh",
"comment": "Copia de seguridad diaria",
"enabled": true,
"expires_at": null
Crontab raw
3 endpointsAcceso completo de lectura/escritura al archivo crontab por usuario del sistema. Úsalo cuando necesitas control total o tienes flujos de trabajo basados en crontab existentes.
# Leer el crontab raw
GET /users/[user]/crontab
# Reemplazar crontab completo
PUT /users/[user]/crontab
["crontab": "0 5 * * * /usr/local/bin/backup.sh"]
Expresiones cron comunes
Copia y pega estos horarios documentados: cada uno verificado con la referencia de expresiones anterior.
* * * * *
Cada minuto
Se dispara en cada tick del reloj. Ideal para tareas de sondeo continuo, recolectores de métricas o procesos watchdog.
0 * * * *
Cada hora
Se dispara en el inicio de cada hora. Útil para resúmenes horarios, precalentamiento de caché o sincronizaciones de API programadas.
0 9 * * 1-5
Días de semana a las 9 AM
Se dispara a las 09:00 solo de lun–vie. Úsalo para tareas en horario laboral como enviar resúmenes diarios o generar informes.
0 0 1 * *
Primero de mes
Se dispara una vez al mes a medianoche el día 1. Perfecto para resúmenes mensuales, ciclos de facturación y trabajos de archivo.
*/5 * * * *
Cada 5 minutos
Se dispara cada 5 minutos. Útil para verificaciones de estado, vaciadores de cola y sincronización de datos casi en tiempo real.
@daily
Macro diario
Equivalente a 0 0 * * * — medianoche cada día. La forma más clara de expresar un horario de una vez al día.
9 endpoints. Dos modos.
Cinco endpoints CRUD de entradas gestionadas, tres endpoints de crontab raw y una verificación de estado: todos con alcance por usuario del sistema.
Entradas gestionadas
5 endpointsGET /users/root/entries → [[id, schedule_human, enabled]]
Crontab raw
3 endpointsPUT /users/root/crontab → [crontab, user]
Sistema
1 endpointGET /health → [status: ok]
Programa tu primer trabajo
Una solicitud POST. Una entrada cron. Cero SSH. Hoody Cron está corriendo dentro de tu contenedor ahora mismo.