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.
Antes de executar:
proxmox-backup-client instalado;root ao servidor onde o script será instalado;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.
Baixe o script diretamente:
No PBS:
chmod +x /root/pbs-prune-setup.sh /root/pbs-prune-setup.sh
O assistente solicitará:
Antes da instalação é possível realizar um dry-run.
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 |
Arquivo:
/etc/pbs-prune/groups.conf
Exemplo:
vm/100 7 vm/101 15 ct/200 30
Formato:
GRUPO KEEP-LAST
Simular:
pbs-prune --dry-run
Executar:
pbs-prune
Listar grupos:
pbs-prune --list
Acompanhar log:
tail -f /var/log/pbs-prune.log
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
/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.