Manutenção
O que o Salvo faz sozinho na agenda, para você rodar agora: liberar espaço no storage, aplicar a retenção, medir um destino, gravar a cópia de recuperação, verificar backups, limpar o que venceu. Toda execução fica registrada na Auditoria.
● disponível na 0.4.144 ● janela da execução: 0.4.146 cPanel e DirectAdmin.
Na tela
Servidor › Manutenção. Cada ação mostra o que faz, quando roda sozinha, a última execução (quem, quando, resultado) e Executar agora. Enquanto roda, o cartão mostra Rodando e atualiza a cada 4 segundos; a mesma ação no mesmo alvo nunca roda duas vezes ao mesmo tempo.

| Ação | Alvo | O que faz | Sozinha |
|---|---|---|---|
| Manutenção do repositório | destino | libera no storage o espaço do que nenhum backup usa mais: o que a retenção apagou e o que uma tentativa que falhou deixou; mede antes e depois e diz quanto liberou | depois que a retenção apaga algum backup |
| Medir o espaço do destino | destino | o espaço livre do destino e quanto o Salvo ocupa nele, conta por conta; num destino que ainda não recebeu backup, mede o disco onde a pasta vai ficar (o Salvo ocupa 0) | no fim de cada execução |
| Aplicar a retenção agora | job | apaga os backups que passaram do prazo de guarda do job | no fim de cada execução do job |
| Cópia de recuperação | destino, ou todos | guarda no destino a cópia do catálogo e das chaves que permite recuperar um servidor | depois de cada backup bom |
| Verificar backups | job | restaura o último backup de cada item numa pasta temporária e compara com o servidor, arquivo por arquivo | não roda: só por aqui ou pela linha de comando |
| Reciclar backups antigos do JetBackup (seção JetBackup) | — | passo 7 do Trazer do JetBackup: simular e depois reciclar; veja Reciclar | não roda: só por aqui ou pela linha de comando |
| Limpar o que venceu | — | apaga as cópias de segurança de antes de cada restauração e as pastas restauradas cujo prazo já passou | a cada minuto, pela agenda |
A janela da execução
Executar agora abre a execução numa janela lateral, que atualiza a cada 1,5 segundo enquanto roda:
- Situação, tempo rodando (ao vivo), Início e Quem;
- a barra de andamento: com contagem quando a ação tem passos (manutenção do repositório: 2 de 3, com a conta), ou correndo enquanto mede ou restaura. Nesse caso a janela diz Esta etapa não tem contagem: a barra mostra que está rodando. Os passos aparecem abaixo quando terminam. (0.4.148);
- Passo a passo: cada linha com o horário e os detalhes em selos (conta, passo, tempo, espaço livre antes e depois);
- no fim, o resultado em destaque, e Baixar log.


A mesma janela abre também por Ver detalhes, na última execução de cada cartão, pela lista Histórico (as 20
últimas, de todas as ações) e pelo endereço #/manutencao/<número>, um link para mandar a alguém.
- 24 horas: a manutenção do repositório só apaga o que está sem uso há mais de 24 horas (um backup em andamento nunca perde nada). Logo depois de uma falha, ela pode ainda não liberar nada.
- Retenção: a retenção manual segue as mesmas regras do job; backups travados ficam.
- Código do app: com pedir o código de novo em ações sensíveis ligado, cada ação pede o código do app (a retenção e a manutenção do repositório apagam dados).
Pela linha de comando
# as ações e a última execução de cada uma
/var/lib/salvo/salvo maintenance
# rodar uma agora
/var/lib/salvo/salvo maintenance-run --action repository --destination ID
/var/lib/salvo/salvo maintenance-run --action measure --destination ID
/var/lib/salvo/salvo maintenance-run --action retention --job ID
/var/lib/salvo/salvo maintenance-run --action recovery-copy
/var/lib/salvo/salvo maintenance-run --action verify --job ID
/var/lib/salvo/salvo maintenance-run --action expire
# JetBackup: simular e depois reciclar (veja Reciclar)
/var/lib/salvo/salvo maintenance-run --action jb-recycle
O recovery-copy sem --destination grava em todos os destinos. API: GET /api/maintenance e
POST /api/maintenance/{action} com {"destination": ID} ou {"job": ID}; o andamento e o log de uma execução em
GET /api/maintenance/runs/{id} (after=N traz só as linhas novas) e GET /api/maintenance/runs/{id}/log.txt.
O log também fica em /var/lib/salvo/logs/maintenance-<id>.jsonl.