Pular para o conteúdo
kit / cron / principal
CronCron como Serviço

Cron como Serviço

Agende tarefas com expressões padrão de 5 campos ou macros @daily. Gerencie entradas via REST, ative/desative-as e defina auto-expiração — sem SSH necessário.

cron — hoody kit

# Criar uma tarefa cron que executa diariamente às 9h

hoody cron create root \

--schedule "0 9 * * *" \

--command "/usr/local/bin/backup.sh" \

--comment "Backup diário às 9h"

# Resposta

[

"id": "7d3f2a1b-8c4e-4f9a-b2d5",

"schedule_human": "Às 09:00",

"enabled": true

]

# Desativar uma tarefa temporariamente

hoody cron update root $ENTRY_ID --enabled false

# Entrada desativada

kit / cron / expression-gallery
REFERÊNCIA DE EXPRESSÕES

Todo Padrão de que Você Vai Precisar

Agendamentos prontos para uso baseados na documentação — cada um verificado contra o runtime de expressões real.

Expressão
Legível
Copiar
* * * * *
Todo minuto
*/5 * * * *
A cada 5 minutos
0 * * * *
No minuto 0 (toda hora)
0 9 * * *
Às 09:00
0 9 * * 1-5
Às 09:00 de seg–sex
0 0 1 * *
Às 00:00 no dia 1 do mês
@daily
Às 00:00 (macro)
@weekly
Às 00:00 no domingo (macro)
Macros: @hourly @daily @weekly @monthly @yearly
kit / cron / timeline
AGENDADOR DE ENTRADAS

Agendamento em um relance

Quatro entradas gerenciadas em um eixo contínuo — próximas execuções em azul, entradas desativadas esmaecidas. Movido por schedule_human e estado enabled.

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

daily-backup

Às 02:00

health-check

A cada 15 minutos

log-rotate

Às 00:00 no domingo

sync-reports

Às 09:00 de seg–sex

upcoming
disabled
past
kit / cron / modes
DOIS MODOS

Gerenciado ou direto — você escolhe

Entradas rastreadas por UUID com toggle e expiração via API JSON, ou acesso direto ao arquivo crontab quando você precisa de controle total.

Entradas gerenciadas

5 endpoints

CRUD com UUID — crie, leia, atualize e exclua tarefas cron via JSON. Adicione comentários, ative/desative e defina auto-expiração sem tocar no crontab direto.

POST /users/root/entries

# Criar uma entrada gerenciada

POST /users/[user]/entries

[

"schedule": "0 9 * * *",

"command": "/usr/local/bin/backup.sh",

"comment": "Backup diário",

"enabled": true,

"expires_at": null

Crontab direto

3 endpoints

Acesso completo de leitura/escrita ao arquivo crontab por usuário do sistema. Use quando precisar de controle total ou tiver fluxos de trabalho existentes baseados em crontab.

GET /users/root/crontab

# Ler o crontab direto

GET /users/[user]/crontab

# Substituir o crontab inteiro

PUT /users/[user]/crontab

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

kit / cron / patterns
PADRÕES DE AGENDAMENTO

Expressões cron comuns

Cole esses agendamentos baseados em docs — cada um verificado contra o runtime de expressões real.

* * * * *

Todo minuto

Executar a cada tick do relógio. Ideal para tarefas de polling contínuo, coletores de métricas ou processos watchdog.

0 * * * *

Toda hora

Executar no início de cada hora. Bom para resumos horários, aquecimento de cache ou sincronizações de API agendadas.

0 9 * * 1-5

Dias úteis às 9h

Executar às 09:00 apenas de seg–sex. Use para tarefas em horário comercial como envio de resumos diários ou geração de relatórios.

0 0 1 * *

Primeiro do mês

Executar uma vez por mês à meia-noite no dia 1. Perfeito para consolidações mensais, ciclos de cobrança e tarefas de arquivamento.

*/5 * * * *

A cada 5 minutos

Executar a cada 5 minutos. Útil para verificações de saúde, drenos de fila e sincronização de dados quase em tempo real.

@daily

Macro diária

Equivalente a 0 0 * * * — meia-noite todo dia. A forma mais clara de expressar um agendamento uma vez por dia.

kit / cron / endpoints
ENDPOINTS DA API

9 endpoints. Dois modos.

Cinco endpoints CRUD para entradas gerenciadas, três endpoints para crontab direto e um health check — todos com escopo por usuário do sistema.

Entradas gerenciadas

5 endpoints

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

GET
/users/{user}/entriesList managed entries
POST
/users/{user}/entriesCreate managed entry
GET
/users/{user}/entries/{id}Get entry by ID
PATCH
/users/{user}/entries/{id}Update entry
DELETE
/users/{user}/entries/{id}Delete entry

Crontab direto

3 endpoints

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

GET
/crontabList all crontabs (paginated)
GET
/users/{user}/crontabGet raw crontab for user
PUT
/users/{user}/crontabReplace crontab for user

Sistema

1 endpoint

GET /health → [status: ok]

GET
/healthHealth check
kit / cron / cta

Agende sua primeira tarefa

Uma requisição POST. Uma entrada cron. Zero SSH. O Hoody Cron está em execução dentro do seu contêiner agora mesmo.