💾Proxmox Backup
How to setup an automated proxmox backup system (host config + LXCs). With this you'll be able to get your server up and running in a few minutes from scratch.
Prerequisites
1
Setting up PBS
Install PBS
Configuring PBS
(Optionnal) Auto PBS start/shutdown
On PVE:
59 20 * * * /usr/sbin/pct start 105 >> /var/log/pbs-autostart.log 2>&1On PBS LXC:
#!/bin/bash
apt update > /dev/null 2>&1 && apt install -y jq > /dev/null 2>&1
echo \"Création du script de vérification...\"
cat > /usr/local/sbin/pbs-auto-shutdown.sh <<'EOF'
#!/bin/bash
RUNNING_TASKS=$(proxmox-backup-manager task list --output-format json | jq 'length')
if [ "$RUNNING_TASKS" -eq 0 ]; then
echo "$(date): Aucune tâche PBS. Attente de 2 minutes..."
sleep 120
RUNNING_TASKS=$(proxmox-backup-manager task list --output-format json | jq 'length')
if [ "$RUNNING_TASKS" -eq 0 ]; then
echo "$(date): Extinction sécurisée."
shutdown now
else
echo "$(date): Tâche apparue. Surveillance continue."
fi
else
echo "$(date): Tâches en cours détectées ($RUNNING_TASKS). Le LXC reste allumé."
fi
EOF
chmod +x /usr/local/sbin/pbs-auto-shutdown.sh
cat > /etc/systemd/system/pbs-auto-shutdown.service <<EOF
[Unit]
Description=Proxmox Backup Server Auto Shutdown Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/pbs-auto-shutdown.sh
EOF
cat > /etc/systemd/system/pbs-auto-shutdown.timer <<EOF
[Unit]
Description=Run PBS Auto Shutdown Service every 5 minutes
[Timer]
OnBootSec=1min
OnUnitActiveSec=5min
[Install]
WantedBy=timers.target
EOF
# Démarrage du service d'arrêt dans le LXC
systemctl daemon-reload
systemctl enable --now pbs-auto-shutdown.timer
echo "✅ Service d'arrêt sécurisé configuré dans le LXC."2
Proxmox Host backup
Automatic (recommended)
PBS_PASSWORD='root_password' /usr/bin/proxmox-backup-client backup \
root.pxar:/etc \
--repository root@pam@192.168.1.105:backup \
--backup-id $(hostname)00 21 * * * PBS_PASSWORD='root_password' /usr/bin/proxmox-backup-client backup root.pxar:/etc --repository root@pam@192.168.1.105:backup --backup-id $(hostname) >/dev/null 2>&1Manual
Restore method
zpool import -f pool_namepct restore 999 /your_zfs_pool/datastore/ct/ID-LXC/DATE/index.json.fidx --storage local-lvmLast updated