====== PBS — Prune Individual por VM/CT ======
Script para configurar políticas de retenção individuais por VM ou CT no Proxmox Backup Server.
Exemplo:
vm/100 7
vm/101 15
ct/200 30
Cada grupo pode possuir seu próprio ''keep-last''.
===== Pré-requisitos =====
Antes de executar:
* Proxmox Backup Server acessível;
* ''proxmox-backup-client'' instalado;
* acesso ''root'' ao servidor onde o script será instalado;
* um usuário existente no PBS;
* API Token associado a esse usuário;
* permissão no datastore que será utilizado.
O API Token sempre pertence a um usuário existente.
Exemplos:
root@pam!prune
backup@pbs!prune
A permissão deve ser aplicada no datastore utilizado:
proxmox-backup-manager acl update /datastore/backup DatastoreAdmin --auth-id 'backup@pbs!prune'
Substitua ''backup'' pelo nome do seu datastore e utilize o usuário/token criado no seu ambiente.
===== Download =====
Baixe o script diretamente:
[[https://cursoproxmox.com.br/prune/pbs-prune-setup.sh|pbs-prune-setup.sh]]
===== Instalação =====
No PBS:
chmod +x /root/pbs-prune-setup.sh
/root/pbs-prune-setup.sh
O assistente solicitará:
* endereço do PBS;
* datastore;
* namespace, se utilizado;
* API Token;
* VMs/CTs;
* quantidade de backups a manter;
* agendamento.
Antes da instalação é possível realizar um ''dry-run''.
===== Estrutura criada =====
Após a instalação:
/usr/local/sbin/
└── pbs-prune
/etc/pbs-prune/
├── pbs-prune.conf
├── groups.conf
└── secret
/etc/cron.d/
└── pbs-prune
/etc/logrotate.d/
└── pbs-prune
/var/log/
└── pbs-prune.log
Arquivos principais:
^ Arquivo ^ Função ^
| ''/usr/local/sbin/pbs-prune'' | Executor do prune |
| ''/etc/pbs-prune/pbs-prune.conf'' | Configuração |
| ''/etc/pbs-prune/groups.conf'' | Retenção por VM/CT |
| ''/etc/pbs-prune/secret'' | Secret do API Token |
| ''/etc/cron.d/pbs-prune'' | Agendamento |
| ''/var/log/pbs-prune.log'' | Log das execuções |
===== Configuração das VMs/CTs =====
Arquivo:
/etc/pbs-prune/groups.conf
Exemplo:
vm/100 7
vm/101 15
ct/200 30
Formato:
GRUPO KEEP-LAST
===== Comandos =====
Simular:
pbs-prune --dry-run
Executar:
pbs-prune
Listar grupos:
pbs-prune --list
Acompanhar log:
tail -f /var/log/pbs-prune.log
===== Garbage Collection =====
O prune remove as referências dos snapshots.
O espaço físico no datastore será efetivamente recuperado após a execução do **Garbage Collection (GC)**.
Por isso, recomenda-se executar na ordem:
Backup → Prune Individual → Garbage Collection
===== Desinstalação =====
/root/pbs-prune-setup.sh --uninstall
A desinstalação remove o executor, configurações, cron e logrotate.
O API Token criado no PBS não é removido automaticamente.