Cada VM com a retenção que ela merece.
No PBS o prune vale para o datastore inteiro: o banco do ERP e a VM de laboratório guardam os mesmos pontos. O pbs-prune aplica retenção por VM/CT, e é grátis.
No PBS, a retenção mora no datastore, não na VM.
O prune job é definido para o datastore (ou namespace). Todo grupo de backup lá dentro recebe a mesma regra.
Mesma proteção para tudo
O banco do ERP e a VM de laboratório guardam os mesmos 15 pontos de restauração.
Quem muda muito, paga mais
Logs, CI e homologação alteram muitos blocos por dia, e cada ponto retido segura esses blocos no disco.
Namespace é contorno
Separar VMs por namespace funciona, mas obriga a reorganizar os backups só para ter uma regra diferente.
espaço ≈ tamanho × (1 + (keep − 1) × mudança/dia)
Cada snapshot mantém vivos os chunks que mudaram desde o anterior, e o disco só é liberado quando o Garbage Collection roda. Exemplo: VM de 300 GB com 8% de mudança por dia ocupa 636 GB com keep 15 e 348 GB com keep 3.
20 VMs, o mesmo datastore, duas políticas.
A: keep-last 15 para todas (padrão do datastore). B: keep-last de 1 a 15 conforme a criticidade de cada VM. Um backup por dia.
| VM | Função | Classe | Tamanho | Mudança/dia | Keep A | Keep B | Espaço A | Espaço B | Comparativo | Economia |
|---|---|---|---|---|---|---|---|---|---|---|
Simulação ilustrativa com o modelo acima. Não considera deduplicação entre VMs nem compressão.
Uma política de backup real, por classe
Banco do ERP, fileserver
ERP aplicação, AD, e-mail
Web, API, BI
Logs, monitoramento, homologação, VPN
Dev, CI, laboratório
De um script de 2022 a um assistente completo.
O v0.1 resolvia uma VM com um comando no cron. Com várias VMs e retenções diferentes, o script virou sistema.
#!/bin/bash
# Autor: Caio Monteiro · Versão 0.1
export PBS_PASSWORD="SUA_CHAVE_AQUI"
proxmox-backup-client prune vm/ID_VM \
--quiet 1 --keep-TIPO DIAS \
--repository root@pam!corte@IP_PBS:STORAGE
- Credencial no códigoO token ficava em texto puro dentro do script.
- Uma VM por script20 VMs viravam 20 arquivos e 20 linhas de cron.
- Sem log nem validaçãoSem dry-run, sem lock, sem timeout, sem histórico.
Como funciona o assistente pbs-prune-setup
- 00
Pré-checagem
Exige root e confere proxmox-backup-client, openssl, timeout, flock e cron.
- 01
Conexão
Host, porta, datastore, namespace e token. No próprio PBS, cria o token e a ACL sozinho.
- 02
VMs/CTs e retenção
Lista os grupos do datastore; você define quantos backups manter de cada um.
- 03
Dry-run
Mostra o que seria mantido e removido antes de qualquer alteração.
- 04
Agendamento
Diário, semanal, a cada N horas ou cron próprio. Depois do backup e antes do GC.
- 05
Instalação
Grava executor, configuração, secret, cron e logrotate. Pode rodar na hora.
# grupo keep-last (vm/ID = QEMU · ct/ID = LXC)
vm/100 15
vm/105 5
vm/111 3
vm/119 1
ct/200 3
pbs-prune --dry-runSimula, sem apagar nadapbs-pruneExecuta o prune agorapbs-prune --listLista grupos e retençõestail -f /var/log/pbs-prune.logAcompanha a execuçãopbs-prune-setup.shMenu de manutençãopbs-prune-setup.sh --uninstallRemove tudo (mantém o log)| Caminho | Função | Perm. |
|---|---|---|
| /usr/local/sbin/pbs-prune | Executor, pelo cron ou manual | 750 |
| /etc/pbs-prune/pbs-prune.conf | Conexão e agendamento | 600 |
| /etc/pbs-prune/groups.conf | A política: uma linha por grupo | 600 |
| /etc/pbs-prune/secret | Secret do token, fora do código | 600 |
| /etc/cron.d/pbs-prune | Agendamento | 644 |
| /etc/logrotate.d/pbs-prune | Rotação mensal do log, 12 meses | 644 |
| /var/log/pbs-prune.log | Histórico de cada execução (também no syslog) | — |
Backup como política de negócio.
MSP e vários clientes
Cada cliente com a retenção do seu contrato, no mesmo PBS.
ERP e banco de dados
Banco com 15 pontos, homologação e testes com 3.
Datastore no limite
Libere espaço cortando histórico inútil antes de comprar disco.
Auditoria
A política está no groups.conf e cada execução fica no log.
O PBS Prune é seu. Grátis.
Assistente, executor, agendamento e logrotate. Use, estude, adapte e compartilhe.
# wget https://www.projetoempresalivre.com.br/assets/downloads/pbs-prune-setup.sh # chmod +x pbs-prune-setup.sh # ./pbs-prune-setup.sh
Do script à interface web.
Prune com interface web
Uma nova versão do módulo PBS do ProxAudit vai trazer a retenção por VM/CT sem shell: escolher grupos, simular e agendar.
Conhecer o ProxAudit ↗ CursoEspecialista Proxmox
Administração, segurança, backup com PBS, cluster e resolução de problemas reais como este.
Ver o curso → ConsultoriaQuer isso no seu ambiente?
Desenho da política de retenção e implantação no seu PBS, com documentação.
Pedir proposta →Se este conteúdo te ajudou, você pode apoiar.
O script continua grátis para todo mundo. O apoio cobre desenvolvimento, infraestrutura de testes e os próximos vídeos e ferramentas.
PIX · CNPJ 19.390.203/0001-60