#!/bin/bash # Configuration centralisée pour le système de backup citadel # Copiez ce fichier vers backup.env et adaptez les valeurs selon votre environnement # === Configuration Essentielle === # Utilisateur système qui exécutera les backups CITADEL_USER="${CITADEL_USER:-citadel}" # Racine du projet citadel PROJECT_ROOT="${PROJECT_ROOT:-/home/nicolas/dev/citadel}" # Répertoire contenant les services à sauvegarder SERVICES_BASE_DIR="${SERVICES_BASE_DIR:-/home/$CITADEL_USER/services}" # === Stockage Restic === # Chemin de base pour le stockage des backups RESTIC_STORAGE="${RESTIC_STORAGE:-/mnt/data/backup}" # Nom du repository Restic RESTIC_REPO="${RESTIC_REPO:-citadel}" # === Système === # Planning de sauvegarde par défaut (format systemd) # Exemples: "*-*-* 03:00:00" (quotidien 3h), "Mon *-*-* 04:00:00" (lundi 4h) DEFAULT_BACKUP_SCHEDULE="${DEFAULT_BACKUP_SCHEDULE:-*-*-* 03:00:00}" # Répertoire des logs système LOG_DIR="${LOG_DIR:-/var/log}" # Répertoire temporaire TEMP_DIR="${TEMP_DIR:-/tmp}" # Fichier de configuration Restic (généré automatiquement) RESTIC_CONFIG_FILE="${RESTIC_CONFIG_FILE:-$PROJECT_ROOT/config/restic.conf}" # === Politique de Rétention === # Nombre de sauvegardes quotidiennes à conserver RETENTION_DAILY="${RETENTION_DAILY:-7}" # Nombre de sauvegardes hebdomadaires à conserver RETENTION_WEEKLY="${RETENTION_WEEKLY:-4}" # Nombre de sauvegardes mensuelles à conserver RETENTION_MONTHLY="${RETENTION_MONTHLY:-12}" # Nombre de sauvegardes annuelles à conserver RETENTION_YEARLY="${RETENTION_YEARLY:-3}" # === Variables Dérivées (automatiquement calculées) === BACKUP_USER="$CITADEL_USER" BACKUP_HOME="${BACKUP_HOME:-/home/$CITADEL_USER}" BACKUP_BASE_DIR="${BACKUP_BASE_DIR:-$BACKUP_HOME/backup}" BACKUP_STORAGE_PATH="$RESTIC_STORAGE" BACKUP_REPO_NAME="$RESTIC_REPO" BACKUP_REPOSITORY="${BACKUP_REPOSITORY:-$RESTIC_STORAGE/$RESTIC_REPO}" RESTIC_CACHE_DIR="${RESTIC_CACHE_DIR:-$TEMP_DIR/restic-cache}" CONFIG_DIR="${CONFIG_DIR:-$PROJECT_ROOT/config}" SYSTEMD_DIR="${SYSTEMD_DIR:-/etc/systemd/system}" SERVICE_TEMPLATE="${SERVICE_TEMPLATE:-service-backup@.service}" TIMER_TEMPLATE="${TIMER_TEMPLATE:-service-backup@.timer}" # === Variables d'export pour Restic === export RESTIC_REPOSITORY="$BACKUP_REPOSITORY" export RESTIC_CACHE_DIR