backupally scheduler

Serviço daemon que executa backups conforme agendamento.

Sintaxe

backupally scheduler <SUBCOMANDO> [OPÇÕES]

Subcomandos

Subcomando Descrição
start Iniciar o scheduler
status Ver status do scheduler
stop Parar o scheduler

scheduler start

Inicia o serviço de agendamento.

backupally scheduler start [OPÇÕES]

Opções:

Opção Descrição Padrão
--config <PATH> Arquivo de configuração /etc/backupally/config.toml
--log-format <FMT> Formato: text, json text
--log-file <PATH> Arquivo de log stdout
--daemon Rodar em background false

Exemplos:

# Foreground (para debug)
backupally scheduler start

# Background com log
backupally scheduler start --daemon --log-file /var/log/backupally/scheduler.log

# Com formato JSON para parsing
backupally scheduler start --log-format json

scheduler status

Exibe status do scheduler.

backupally scheduler status

Saída:

Scheduler Status: Running
PID: 12345
Uptime: 2d 5h 30m
Tasks Loaded: 5
Next Execution:
  mysql-prod      in 2h 30m (03:00:00)
  website-backup  in 3h 30m (04:00:00)
  mongodb-logs    in 5h 30m (06:00:00)

scheduler stop

Para o scheduler em execução.

backupally scheduler stop

Hot Reload

O scheduler detecta mudanças em arquivos de task automaticamente:

  • Intervalo de verificação: 5 segundos
  • Não requer reinício do serviço
  • Mudanças aplicadas no próximo ciclo

Ações detectadas:

Ação Comportamento
Novo arquivo .toml Task carregada
Arquivo modificado Task recarregada
Arquivo removido Task descarregada
Task habilitada Entra no agendamento
Task desabilitada Sai do agendamento

Systemd Service

Instalar Serviço

Crie /etc/systemd/system/backupally-scheduler.service:

[Unit]
Description=BackupAlly Scheduler
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/backupally scheduler start --log-file /var/log/backupally/scheduler.log
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Comandos Systemd

# Habilitar início automático
sudo systemctl enable backupally-scheduler

# Iniciar serviço
sudo systemctl start backupally-scheduler

# Ver status
sudo systemctl status backupally-scheduler

# Ver logs
sudo journalctl -u backupally-scheduler -f

# Parar serviço
sudo systemctl stop backupally-scheduler

Concorrência

O scheduler controla execuções simultâneas:

# config.toml
[global]
max_concurrent_backups = 2

Comportamento:

  • Tasks com maior priority executam primeiro
  • Tasks de mesma prioridade seguem ordem de agendamento
  • Tasks aguardam slot disponível se limite atingido

Logs

Formato Text

[2026-02-11 03:00:00] INFO Starting backup: mysql-prod
[2026-02-11 03:01:10] INFO Backup completed: mysql-prod (1m 10s)

Formato JSON

{"timestamp":"2026-02-11T03:00:00Z","level":"INFO","message":"Starting backup","task":"mysql-prod"}
{"timestamp":"2026-02-11T03:01:10Z","level":"INFO","message":"Backup completed","task":"mysql-prod","duration":"1m 10s"}

Monitoramento

Verificar Saúde

backupally scheduler status

Verificar Próximas Execuções

backupally task list

Verificar Histórico

backupally history --limit 10
By Borlot.com.br on 11/02/2026