Proxmox Backup Server (PBS)
PBS is een gespecialiseerde backupoplossing ontwikkeld door Proxmox, ontworpen voor het efficiënt en betrouwbaar backuppen van servers en data.
Waarom PBS?
In een omgeving met meerdere Linux servers, containers en virtuele machines is een centrale backupoplossing essentieel. PBS biedt:
- Deduplicatie: identieke datablokken worden slechts één keer opgeslagen, waardoor schijfruimte significant bespaard wordt
- Incrementele backups: enkel gewijzigde data wordt overgedragen na de eerste volledige backup
- Integriteitscontrole: automatische verificatie van opgeslagen data detecteert stille corruptie (bitrot)
- Flexibele restore: individuele bestanden, mappen of volledige backups zijn eenvoudig terug te zetten via webUI of CLI
- Retentiebeheer: automatisch opruimen van oude snapshots op basis van instelbare regels
Wanneer PBS inzetten?
PBS is aangewezen wanneer:
- Meerdere servers centraal gebackupt moeten worden
- Schijfruimte efficiënt benut moet worden door deduplicatie
- Een betrouwbare, verifieerbare backuphistorie vereist is
- Zowel volledige systemen als individuele bestanden herstelbaar moeten zijn
Server
Installatie PBS
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/proxmox-backup-server.sh)"
Client
Linux
Installatie
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
echo "deb http://download.proxmox.com/debian/pbs-client bookworm main" > /etc/apt/sources.list.d/pbs-client.list
apt update && apt install proxmox-backup-client
Soms ook:
wget http://archive.ubuntu.com/ubuntu/pool/main/libz/libzstd/libzstd1_1.5.5+dfsg2-2build1.1_amd64.deb
dpkg -i libzstd1_1.5.5+dfsg2-2build1.1_amd64.deb
apt install proxmox-backup-client
Script
vim /diy/backup_PBS.sh
Maak hier de juiste aanpassingen (bv server ip XXXX, Password YYYY, ZZZZ fingerprint, AAAA hostname, eventueel datastores...)
#!/bin/bash
echo "=== Backup gestart: $(date) ===" >> /var/log/backup_PBS.log
export PBS_REPOSITORY="root@pam@XXXX:Backups_HD1"
export PBS_PASSWORD="YYYY"
export PBS_FINGERPRINT="ZZZZZZ"
proxmox-backup-client backup \
backupRemote.pxar:/backupRemote \
diy.pxar:/diy \
configs.pxar:/etc \
home.pxar:/root \
--repository $PBS_REPOSITORY \
--backup-id AAAA \
--exclude lost+found \
--exclude '**/.cache'
echo "=== Backup beëindigd: $(date) ===" >> /var/log/backup_PBS.log
chmod +x /diy/backup_PBS.sh
Opstart Scripts
vim /etc/systemd/system/backup-pbs.service
ini[Unit]
Description=PBS backup
[Service]
Type=oneshot
ExecStart=/bin/bash /diy/backup_PBS.sh
StandardOutput=append:/var/log/backup_PBS.log
StandardError=append:/var/log/backup_PBS.log
vim /etc/systemd/system/backup-pbs.timer
Pas eventueel tijd aan dat de backups genomen wordt. Niet alle server tegelijkertijd bv.
ini[Unit]
Description=Dagelijkse PBS backup
[Timer]
OnCalendar=*-*-* 05:43:21
Persistent=true
[Install]
WantedBy=timers.target
Zorg dat dit automatisch loopt, en draai het ook even manueel.
systemctl daemon-reload
systemctl enable --now backup-pbs.timer
bash -v /diy/backup_PBS.sh