Alternativa ao cron

Mantenha a simplicidade do cron e adicione os controles que produção exige.

O Dagu mantém os agendamentos próximos dos seus scripts enquanto adiciona grafo de dependências, retries, logs, histórico, reruns manuais e Web UI.

De uma linha cron para um workflow
name: nightly-ops
schedule: "0 2 * * *"

steps:
  - id: extract
    run: python scripts/extract.py

  - id: transform
    run: ./bin/transform
    retry_policy:
      limit: 3
    depends: [extract]

  - id: notify
    run: ./scripts/slack-success.sh
    depends: [transform]

Agendamentos estilo cron em YAML

Dependências de etapas no lugar de cadeias shell

Rerun de etapas falhas sem SSH manual

Histórico e logs em uma Web UI

At a glance

Cron vs. Dagu

Dependências
Dagu

Grafo de etapas nativo.

Typical alternative

Cadeias shell, arquivos de lock e wrappers.

Retries
Dagu

Políticas de retry por etapa.

Typical alternative

Loops customizados ou rerun manual.

Visibilidade
Dagu

Web UI, logs, status e histórico.

Typical alternative

Logs do sistema e convenções feitas à mão.

In depth

Where each tool fits

01

Cron é simples até os jobs dependerem uns dos outros

Quando um script agendado precisa de retries, captura de saída, ordem de execução ou histórico legível, o cron vira um acúmulo de wrappers.

  • Modele cada comando como uma etapa nomeada
  • Use dependências em vez de cadeias shell longas
  • Inspecione a saída falha e rode rerun pela Web UI
02

Não é preciso migração de plataforma

O Dagu executa os scripts que você já tem. A primeira migração pode começar por um único job noturno.

  • Mantenha jobs em Bash, Python, Go, Java, PHP ou Perl
  • Leve os agendamentos para YAML versionado
  • Adicione timeouts e retries gradualmente
03

Visibilidade operacional por padrão

O Dagu reúne o estado de execução que o cron normalmente espalha entre syslog, arquivos customizados e conhecimento tribal.

  • Veja status atual, histórico e logs
  • Acione execuções manuais sem entrar no host
  • Use notificações e etapas seguintes para lidar com falhas

FAQ

Practical questions before adopting Dagu

O Dagu usa sintaxe cron?

Sim. Você pode definir agendamentos com expressões cron familiares e ainda ganhar estado de workflow e controles por etapa.

Preciso reescrever meus scripts cron?

Não. Coloque o comando existente em uma etapa do Dagu e depois adicione dependências, retries e notificações quando precisar.

Ele precisa de Kubernetes?

Não. O Dagu pode começar como um único processo em uma máquina comum e evoluir para execução distribuída quando necessário.

Next step

Start with one workflow.

Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.