Skip to content

Scripts Backup

Scripts automatiques backup configurations (host, Docker, documentation).

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/ (LXC 102) docker-compose LXC 100/101/103 05:00
backup-documentation.sh /usr/local/bin/ (LXC 102) Documentation MkDocs 05:00
backup-docker-configs.sh /root/ (LXC 103) NPM/Authelia/WireGuard (quotidien) 04:00

Architecture centralisée : LXC 102 gère tous les backups Docker vers Google Drive. LXC 103 maintient un backup local quotidien qui est intégré par LXC 102.

Backup Host Proxmox

Script : /usr/local/bin/backup-proxmox-host.sh

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/configs/
Format : proxmox-host-config-YYYYMMDD-HHMMSS.tar.gz

Backup Docker Configs (LXC 100/101/103)

Script : /usr/local/bin/backup-docker-configs.sh (dans LXC 102)

Contenu sauvegardé :

  • /mnt/lxc-data/docker-100/docker-compose.yml
  • /mnt/lxc-data/docker-101/docker-compose.yaml
  • /mnt/lxc-data/docker-100/{prowlarr,radarr,sonarr,sabnzbd}/config.xml
  • /mnt/lxc-data/docker-101/homepage/*.yaml
  • /mnt/lxc-data/backups/lxc103-docker/*.tar.gz - Backups LXC 103

Destination : gdrive:backup/homeserver/docker-configs/
Format : docker-configs-YYYYMMDD-HHMMSS.tar.gz

Architecture :

  • LXC 103 crée backup local quotidien (04:00) → /mnt/lxc-data/backups/lxc103-docker/
  • LXC 102 intègre ces backups (05:00) → Google Drive
  • Centralisation via rclone installé uniquement sur LXC 102

Backup Documentation

Script : /usr/local/bin/backup-documentation.sh (dans LXC 102)

Contenu sauvegardé :

  • /mnt/lxc-data/documentation/ (complet)

Destination : gdrive:backup/homeserver/documentation/
Format : documentation-YYYYMMDD-HHMMSS.tar.gz

Cron Configuration

Host Proxmox

# Vérifier
crontab -l

# Ligne active
0 5 * * * /usr/local/bin/backup-proxmox-host.sh

LXC 102

# Vérifier
pct exec 102 -- crontab -l

# Lignes actives
0 5 * * * /usr/local/bin/backup-docker-configs.sh
0 5 * * * /usr/local/bin/backup-documentation.sh

LXC 103

# Vérifier
pct exec 103 -- crontab -l

# Ligne active
0 4 * * * /root/backup-docker-configs.sh >> /var/log/backup-docker.log 2>&1

Note : LXC 103 exécute backup local à 04:00, LXC 102 le récupère à 05:00.

Logs

# Host
tail -f /var/log/backup-proxmox-host.log

# LXC 102
pct exec 102 -- tail -f /var/log/backup-docker-configs.log
pct exec 102 -- tail -f /var/log/backup-documentation.log

# LXC 103
pct exec 103 -- tail -f /var/log/backup-docker.log

Rétention

  • Host + LXC 102 : 30 jours Google Drive (cleanup rclone)
  • LXC 103 : 30 jours local (cleanup dans script)

Vérification

Voir monitoring.md.

Restauration

Voir ../recovery/restoration.md.