backupally task
Gerencia tasks de backup configuradas no sistema.
Sintaxe
backupally task <SUBCOMANDO> [OPÇÕES]Subcomandos
| Subcomando | Descrição |
|---|---|
list |
Listar todas as tasks |
create |
Criar nova task (interativo) |
clone |
Clonar task existente |
validate |
Validar configuração |
enable |
Habilitar task |
disable |
Desabilitar task |
delete |
Remover task |
show |
Exibir detalhes da task |
task list
Lista todas as tasks configuradas.
backupally task listSaída exemplo:
ID STATUS SCHEDULE LAST RUN NEXT RUN
mysql-prod enabled 0 2 * * * 2026-02-11 02:00:00 2026-02-12 02:00:00
website-backup enabled 0 3 * * * 2026-02-11 03:00:00 2026-02-12 03:00:00
mongodb-logs disabled 0 */6 * * * 2026-02-10 18:00:00 -Desde a 0.33.0, a saída humana também mostra prioridade e schedule reais em
vez do - que antes mandava rodar task show linha a linha. A lista sai
ordenada por id (antes vinha na ordem interna de um HashMap, sem garantia).
`task list -o json` (objeto rico desde 0.33.0)
backupally task list -o json
backupally task list -o json --enabled
backupally task list -o json --disabledAntes da 0.33.0, o caminho sem filtro (o que uma UI normalmente consome)
emitia só id + valid + error por item. Agora emite a task inteira
achatada, com enabled, kind e schedule — o mesmo formato que
--enabled/--disabled já usavam:
{
"success": true,
"command": "task.list",
"data": {
"summary": { "healthy": 0, "unhealthy": 0, "stopped": 0 },
"items": [
{
"id": "mysql-prod",
"valid": true,
"enabled": true,
"kind": "database",
"schedule": "0 2 * * *",
"name": "mysql-prod",
"priority": 0
}
]
}
}summary.healthy/unhealthy/stopped sempre vêm 0 — ignore o campo e conte
items. Task cujo arquivo não carrega continua listada com o campo error,
sem enabled/kind inventados.
task create
Inicia o wizard interativo para criar uma nova task.
backupally task createO wizard solicita:
- ID da task (identificador único)
- Nome descritivo
- Tipo de backup (database, fileset)
- Configuração do target
- Storage de destino
- Agendamento (cron)
task clone
Clona uma task existente com novo ID.
backupally task clone <SOURCE_ID> <NEW_ID>A task clonada é criada desabilitada por padrão.
Exemplo:
backupally task clone mysql-prod mysql-stagingtask validate
Valida a configuração de uma ou todas as tasks.
backupally task validate [TASK_ID] [--deep]Sem --deep (rápido, offline): sintaxe do TOML, campos obrigatórios e
referências. A saída diz Sintaxe ok e avisa explicitamente:
Conectividade NAO foi verificada — use `task validate --deep`Com --deep (desde 0.23.0): checagens de conectividade, todas read-only:
- Resolve o host, inclusive
docker:<container>[/<rede>] - Autentica no banco (
SELECT 1ou equivalente) - Confere credenciais de cada storage, inline ou do cadastro
- Resolve todos os
${secret:...}referenciados - Verifica que os caminhos de
filesetexistem
Sai com código ≠ 0 se alguma checagem falhar. Driver sem teste de conexão
aparece como pulado (⊘), nunca como aprovado.
Exemplo:
backupally task validate mysql-prod
backupally task validate mysql-prod --deep
backupally task validate --deep # todastask enable
Habilita uma task desabilitada.
backupally task enable <TASK_ID>task disable
Desabilita uma task sem removê-la.
backupally task disable <TASK_ID>task delete
Remove uma task do sistema.
backupally task delete <TASK_ID>Um arquivo .bak é criado como backup antes da remoção.
task show
Exibe detalhes completos de uma task.
backupally task show <TASK_ID>Exemplos
Criar e Habilitar Task
backupally task create
backupally task validate my-new-task
backupally task enable my-new-taskClonar para Ambiente de Staging
backupally task clone mysql-prod mysql-staging
backupally task enable mysql-stagingDesabilitar Temporariamente
backupally task disable mysql-prod
# ... manutenção ...
backupally task enable mysql-prodLocalização dos Arquivos
Tasks são armazenadas em:
/etc/backupally/tasks.d/
├── mysql-prod.toml
├── website-backup.toml
└── mongodb-logs.tomlHot Reload
O scheduler detecta automaticamente mudanças nos arquivos de task a cada 5 segundos. Não é necessário reiniciar o serviço.