Ir al contenido
kit / cron / hero
CronCron como servicio

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.

cron — hoody kit

# 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

kit / cron / expression-gallery
REFERENCIA DE EXPRESIONES

Todos los patrones que necesitarás

Ocho expresiones con sus equivalentes en lenguaje humano, directamente del campo schedule_human de la API.

Expresión
Legible por humanos
Copiar
* * * * *
Cada minuto
*/5 * * * *
Cada 5 minutos
0 * * * *
Al minuto 0 (cada hora)
0 9 * * *
A las 09:00
0 9 * * 1-5
A las 09:00 de lun–vie
0 0 1 * *
A las 00:00 el día 1 del mes
@daily
A las 00:00 (macro)
@weekly
A las 00:00 el domingo (macro)
Macros: @hourly @daily @weekly @monthly @yearly
kit / cron / timeline
PROGRAMADOR DE ENTRADAS

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.

-2h-1.5h-1h-0.5hnow+0.5h+1h+1.5h+2h+2.5h+3h

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

próximo
deshabilitado
pasado
kit / cron / modes
DOS MODOS

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 endpoints

CRUD 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.

POST /users/root/entries

# 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 endpoints

Acceso 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.

GET /users/root/crontab

# Leer el crontab raw

GET /users/[user]/crontab

# Reemplazar crontab completo

PUT /users/[user]/crontab

["crontab": "0 5 * * * /usr/local/bin/backup.sh"]

kit / cron / patterns
PATRONES DE HORARIO

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.

kit / cron / endpoints
ENDPOINTS DE LA API

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 endpoints

GET /users/root/entries → [[id, schedule_human, enabled]]

GET
/users/{user}/entriesEnumerar entradas gestionadas
POST
/users/{user}/entriesCrear entrada gestionada
GET
/users/{user}/entries/{id}Obtener entrada por ID
PATCH
/users/{user}/entries/{id}Actualizar entrada
DELETE
/users/{user}/entries/{id}Eliminar entrada

Crontab raw

3 endpoints

PUT /users/root/crontab → [crontab, user]

GET
/crontabEnumerar todos los crontabs (paginado)
GET
/users/{user}/crontabObtener crontab raw para usuario
PUT
/users/{user}/crontabReemplazar crontab para usuario

Sistema

1 endpoint

GET /health → [status: ok]

GET
/healthVerificación de estado
kit / cron / cta

Programa tu primer trabajo

Una solicitud POST. Una entrada cron. Cero SSH. Hoody Cron está corriendo dentro de tu contenedor ahora mismo.