Scripts Backup¶
Scripts automatiques backup configurations (host, Docker).
Vue d'Ensemble¶
| Script | Path | Contenu | Cron |
|---|---|---|---|
| backup-proxmox-host.sh | /usr/local/bin/ (host) |
Configs host Proxmox | 05:00 |
| backup-docker-configs.sh | /usr/local/bin/ (host) |
docker-compose LXC 100/101/103 | 05:00 |
Architecture centralisée sur host :
- Scripts s'exécutent sur host Proxmox
- Création tar locale
- Upload direct Google Drive via rclone (installé sur host)
- LXC 102 : mission limitée à PBS (datastore + sync chunks)
Backup Host Proxmox¶
Script : /usr/local/bin/backup-proxmox-host.sh (sur host)
Contenu sauvegardé :
/etc/pve/- Configs Proxmox VE/etc/network/- Configuration réseau/etc/ssh/+/root/.ssh/- SSH/etc/fstab- Montages disques/etc/snapraid.conf- SnapRAID/etc/cron.*- Tâches planifiées/usr/local/bin/- Scripts custom
Destination : gdrive:backup/homeserver/proxmox/
Format : proxmox-host-config-YYYYMMDD-HHMMSS.tar.gz
Structure archive : Préserve chemins complets (/etc/pve/, /etc/network/, etc.)
Backup Docker Configs (LXC 100/101/103/104)¶
Script : /usr/local/bin/backup-docker-configs.sh (sur host)
Contenu sauvegardé :
- LXC 100 :
docker-compose.ymlprowlarr/config.xml,radarr/config.xml,sonarr/config.xmlsabnzbd/sabnzbd.ini
- LXC 101 :
docker-compose.yamlcoolercontrol/,homepage/cup/- Cup configuration (cup.json)portainer/- Portainer data (stack definitions, database, settings)compose/- All managed stack definitions + env filesportainer.db- Portainer metadata (users, endpoints, settings)
zensical/docs/,zensical/zensical.toml
- LXC 103 :
docker-compose.ymlauthelia/{configuration,users_database}.ymlcaddy/Caddyfile— config reverse proxycaddy/data/— certificats Let's Encrypt + compte ACME (hors locks)wireguard/- Configs VPN
- LXC 104 :
docker-compose.yml.env- Environment variablesendurain/data/- Activity dataromm/config/- Romm configurationromm/assets/- Game saves and states
Exclusions :
npm/data/logs- Logs NPMzensical/site/- Site généré (zensical serve)*/cache,*/logs,*/MediaCover,*/downloads
Destination : gdrive:backup/homeserver/lxc-data/
Format : lxc-data-YYYYMMDD-HHMMSS.tar.gz
Structure archive : Préserve structure lxc-data/NNN-name/ (ex: lxc-data/100-media/). Archives antérieures au 2026-05-07 utilisaient l'ancienne structure lxc-data/docker-NNN/.
Cron Configuration¶
Host Proxmox¶
# Vérifier
crontab -l
# Lignes actives
0 5 * * * /usr/local/bin/backup-proxmox-host.sh
0 5 * * * /usr/local/bin/backup-docker-configs.sh
Logs¶
Rétention¶
- Tous backups : 30 jours Google Drive (cleanup automatique rclone)
Architecture Rclone¶
Installation : Host Proxmox uniquement
Config : /root/.config/rclone/rclone.conf (permissions 600)
Sécurité :
- Token OAuth Google Drive sur host
- Isolation : LXC 102 (privileged PBS) n'a pas accès credentials cloud
- Risque minimisé : host déjà point critique infrastructure
LXC 102 : Conserve rclone uniquement pour pbs-sync-gdrive-optimal.sh (sync chunks PBS datastore)
Vérification¶
Voir monitoring.md.