diff --git a/BackupVaultWarden/README.md b/BackupVaultWarden/README.md index 5184598..eae6a03 100644 --- a/BackupVaultWarden/README.md +++ b/BackupVaultWarden/README.md @@ -110,49 +110,25 @@ Cela permet : --- -# 6. Connexion au serveur de sauvegarde (Machine IA) +### 6. Connexion au serveur de sauvegarde (Machine IA) -Le transfert des sauvegardes vers la machine IA repose sur une **authentification par clé SSH**. -Cette méthode permet au script de se connecter automatiquement au serveur distant sans mot de passe. +Le transfert des sauvegardes utilise une **clé SSH** afin de permettre une connexion automatique au serveur distant sans mot de passe. -La clé utilisée pour ce script est : +#### 1. Génération de la clé -``` -~/.ssh/id_ed25519_bitwarden - -```` - ---- - -## 6.1 Vérifier la présence de la clé SSH - -Sur la machine exécutant le script, vérifier que la clé existe : +Sur la machine exécutant les scripts : ```bash -ls ~/.ssh/id_ed25519_bitwarden* -```` - -Les fichiers attendus sont : - -``` -~/.ssh/id_ed25519_bitwarden -~/.ssh/id_ed25519_bitwarden.pub +ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_bitwarden ``` -* `id_ed25519_bitwarden` → clé privée utilisée par le script -* `id_ed25519_bitwarden.pub` → clé publique autorisée sur la machine IA - ---- - -## 6.2 Copier la clé publique sur la machine IA - -Envoyer la clé publique vers la machine IA : +#### 2. Copie de la clé vers le serveur distant ```bash ssh-copy-id -i ~/.ssh/id_ed25519_bitwarden.pub backup@192.168.0.179 ``` -Cette commande ajoute automatiquement la clé dans : +Cette commande ajoute la clé dans : ``` ~/.ssh/authorized_keys @@ -160,27 +136,28 @@ Cette commande ajoute automatiquement la clé dans : sur la machine IA. ---- - -## 6.3 Ajout manuel de la clé (si ssh-copy-id n'est pas disponible) - -Afficher la clé publique : +#### 3. Vérification de la connexion ```bash -cat ~/.ssh/id_ed25519_bitwarden.pub +ssh -i ~/.ssh/id_ed25519_bitwarden backup@192.168.0.179 ``` -Copier son contenu puis l’ajouter sur la machine IA dans : +#### 4. Vérification des fichiers de clé -``` -~/.ssh/authorized_keys +```bash +ls ~/.ssh/id_ed25519_bitwarden* ``` ---- +Fichiers attendus : -## 6.4 Vérifier les permissions SSH +``` +~/.ssh/id_ed25519_bitwarden +~/.ssh/id_ed25519_bitwarden.pub +``` -Sur la machine locale : +#### 5. Permissions SSH + +Machine locale : ```bash chmod 700 ~/.ssh @@ -188,40 +165,20 @@ chmod 600 ~/.ssh/id_ed25519_bitwarden chmod 644 ~/.ssh/id_ed25519_bitwarden.pub ``` -Sur la machine IA : +Machine distante : ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` ---- - -## 6.5 Tester la connexion - -Tester la connexion SSH avec la clé : - -```bash -ssh -i ~/.ssh/id_ed25519_bitwarden backup@192.168.0.179 -``` - -Si la configuration est correcte : - -* la connexion se fait **sans mot de passe** -* la machine IA accepte la clé SSH -* le script pourra envoyer les sauvegardes automatiquement - ---- - -## 6.6 Déclaration dans le fichier `.env` - -La clé utilisée par le script doit être déclarée dans `.env` : +#### 6. Déclaration dans `.env` ```bash SSH_KEY=/home/matt/.ssh/id_ed25519_bitwarden ``` -Cette clé sera utilisée automatiquement par `scp` lors du transfert des sauvegardes. +Cette clé sera utilisée automatiquement par les scripts (`scp` / `ssh`) pour transférer les sauvegardes. # 7. Sauvegarde des données Vaultwarden diff --git a/CheckStorage/README.md b/CheckStorage/README.md index f554e02..1a9c800 100644 --- a/CheckStorage/README.md +++ b/CheckStorage/README.md @@ -18,7 +18,23 @@ La limite d'alerte est fixée à 70% d'utilisation, mais vous pouvez ajuster cet 3. ```bash cd Scripts-Serveur/CheckStorage ``` - +### Génération de la clé SSH + +Sur la machine exécutant les scripts : + +```bash +ssh-keygen -t ed25519 -f ~/.ssh/check_storage_key +``` +Copier la clé sur le serveur distant : + +```bash +ssh-copy-id -i ~/.ssh/check_storage_key.pub user@serveur +``` +Tester la connexion sans mot de passe : + +```bash +ssh -i ~/.ssh/id_backup_postgres backup@192.168.1.50 +``` ## Utilisation du script 0. Copiez le fichier d'environnement exemple et modifiez les variables selon votre configuration : ```bash diff --git a/RecetteScripts/.env.exemple b/RecetteScripts/.env.exemple deleted file mode 100644 index c0ca24f..0000000 --- a/RecetteScripts/.env.exemple +++ /dev/null @@ -1,81 +0,0 @@ -############################################# -# ENVIRONNEMENT -############################################# - -# Nom de l'environnement (ex: DEV / RECETTE / PROD) -ENV_NAME=RECETTE - -############################################# -# POSTGRESQL -############################################# - -# Host PostgreSQL -PGHOST=localhost - -# Port PostgreSQL -PGPORT=5432 - -# Utilisateur utilisé pour les dumps -PGUSER=nom_de_user - -# Mot de passe PostgreSQL -PGPASSWORD=change_me_secure_password - -# Bases à sauvegarder (séparées par espace) -DBS="sirh inventory ferme" - -############################################# -# SERVEUR DE STOCKAGE DES BACKUPS -############################################# - -# Utilisateur du serveur distant -BACKUP_REMOTE_USER=nom_de_user - -# Host ou IP du serveur distant -BACKUP_REMOTE_HOST=192.168.1.50 - -# Dossier distant pour stocker les backups -BACKUP_REMOTE_DIR=/home/nom_de_user/backups/bdd-recette - -############################################# -# SSH -############################################# - -# Clé SSH utilisée pour envoyer les dumps -SSH_KEY=/home/nom_de_user/.ssh/id_ed25519_backup - -# Timeout SSH (secondes) -SSH_TIMEOUT=10 - -############################################# -# LOGS -############################################# - -# Dossier des logs backup -BACKUP_LOG_DIR=/var/log/pg_backup - -# Dossier logs monitoring apps -APP_LOG_DIR=/var/log/app_health - -############################################# -# DISCORD -############################################# - -# Webhook Discord pour notifications -DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/xxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - -# Ping en cas d'erreur -DISCORD_PING=@here - -############################################# -# HEALTH CHECK APPS -############################################# - -# Timeout connexion HTTP -CHECK_CONNECT_TIMEOUT=3 - -# Timeout total curl -CHECK_MAX_TIME=8 - -# Applications à vérifier -APP_URLS="ferme.example.local sirh.example.local inventory.example.local" \ No newline at end of file diff --git a/RecetteScripts/README.md b/RecetteScripts/README.md index 8b96720..5d8c69d 100644 --- a/RecetteScripts/README.md +++ b/RecetteScripts/README.md @@ -1,121 +1,378 @@ -# Scripts Recette +# RecetteScripts -Ce dossier contient les scripts utilisés pour l’environnement **RECETTE** du projet **Ferme**. +Scripts Bash permettant d’automatiser la gestion d’un environnement **PostgreSQL de recette**. -Les scripts permettent principalement : +Ces scripts permettent : -* la **sauvegarde automatique des bases de données PostgreSQL** -* la **vérification du statut des applications web** +* la **sauvegarde automatisée des bases** +* la **surveillance de la disponibilité des applications** +* la **reconstruction d’une base à partir d’un dump** + +Chaque script possède son propre **fichier `.env` dédié** afin de séparer les configurations.(un global.env.exemple est disponible à la racine du projet) --- -# Scripts disponibles +# 0. Arborescence du projet -## backup-bdd-recette.sh - -Script permettant de réaliser une **sauvegarde des bases de données PostgreSQL**. - -Fonctionnement : - -* export des bases PostgreSQL définies dans la configuration -* export des utilisateurs PostgreSQL -* création de dumps au format PostgreSQL (`pg_dump -Fc`) -* transfert des sauvegardes vers un serveur distant -* génération de logs locaux -* envoi de notifications Discord en cas de succès ou d’erreur +``` +RecetteScripts +│ +├── backup-bdd-recette.sh # script de sauvegarde PostgreSQL +├── backup.env.exemple # exemple de configuration backup +│ +├── check-statut-recette.sh # script de monitoring des applications +├── check-statut.env.exemple # exemple de configuration monitoring +│ +├── rebuild-bdd-recette.sh # script de restauration PostgreSQL +├── rebuild.env.exemple # exemple de configuration restauration +│ +└── README.md +``` --- -## check-statut-recette.sh +# 1. Principe général -Script permettant de **vérifier la disponibilité des applications web**. +Les scripts fonctionnent indépendamment mais utilisent le même principe : -Le script effectue les vérifications suivantes : - -* résolution DNS du site -* connexion HTTP au service -* vérification du code HTTP retourné - -Une application est considérée : - -* **OK** si le code HTTP est entre **200 et 399** -* **DOWN** si la résolution DNS échoue ou si une erreur HTTP est détectée - -Chaque vérification est enregistrée dans un **fichier de log** et une notification peut être envoyée sur **Discord**. +1. chargement d’un fichier `.env` +2. vérification des variables obligatoires +3. exécution de la tâche principale +4. génération de logs +5. notification Discord (optionnelle) --- -# Installation +# 2. Prérequis -1. Clonez le dépôt Git : +Environnement Linux recommandé. -```bash -git clone https://gitea.malio.fr/MALIO-DEV/Scripts-Serveur.git +Packages nécessaires : + +``` +postgresql-client +curl +jq +ssh +scp ``` -2. Accédez au dossier des scripts : +Commandes PostgreSQL requises : -```bash -cd Scripts-Serveur/RecetteScripts +``` +pg_dump +pg_dumpall +pg_restore +psql +createdb +dropdb ``` -3. Copiez le fichier d’environnement : +--- +### 3 Connexion SSH + +Une connexion SSH avec **clé privée** est nécessaire afin de permettre les transferts automatisés de fichiers vers le serveur distant (dump PostgreSQL, rôles, etc.). + +### Génération de la clé SSH + +Sur la machine exécutant les scripts : ```bash -cp .env.example .env +ssh-keygen -t ed25519 -f ~/.ssh/id_backup_postgres ``` -4. Modifiez les variables du fichier `.env` selon votre configuration. +Explication : + +* `-t ed25519` : algorithme recommandé +* `-f` : chemin de la clé + +Deux fichiers seront créés : + +``` +~/.ssh/id_backup_postgres +~/.ssh/id_backup_postgres.pub +``` --- -# Utilisation +### Copier la clé sur le serveur distant -Donnez les permissions d’exécution aux scripts : +Méthode recommandée : ```bash -chmod +x backup-bdd-recette.sh -chmod +x check-statut-recette.sh +ssh-copy-id -i ~/.ssh/id_backup_postgres.pub user@serveur ``` -Exécution manuelle : +Exemple : ```bash +ssh-copy-id -i ~/.ssh/id_backup_postgres.pub backup@192.168.1.50 +``` + +--- + +### Vérifier la connexion + +Tester la connexion sans mot de passe : + +```bash +ssh -i ~/.ssh/id_backup_postgres backup@192.168.1.50 +``` + +La connexion doit fonctionner **sans demander de mot de passe**. + +--- + +### Sécuriser les permissions + +Les permissions doivent être restreintes : + +```bash +chmod 700 ~/.ssh +chmod 600 ~/.ssh/id_backup_postgres +chmod 644 ~/.ssh/id_backup_postgres.pub +``` + +--- + +# 4. Configuration + +Chaque script possède un **fichier d’exemple** : + +``` +backup.env.exemple +check-statut.env.exemple +rebuild.env.exemple +``` + +Pour utiliser les scripts : + +``` +cp backup.env.exemple .env +``` + +Puis modifier les variables. + +--- + +# 5. Script : backup-bdd-recette.sh + +Script : + + +## Objectif + +Sauvegarder plusieurs bases PostgreSQL et transférer les dumps vers un serveur distant. + +--- + +## Fonctionnement + +Le script : + +1. charge la configuration `.env` +2. vérifie les dépendances +3. empêche l’exécution simultanée (lock) +4. exporte les rôles PostgreSQL +5. crée un dump de chaque base +6. transfère les dumps vers un serveur distant +7. applique une rotation des sauvegardes +8. envoie un résumé sur Discord + +--- + +## Format des fichiers + +Dump base : + +``` +base_TIMESTAMP.dump +``` + +Export utilisateurs : + +``` +user_TIMESTAMP.sql +``` + +--- + +## Rotation automatique + +Suppression des sauvegardes plus anciennes que : + +``` +10 jours +``` + +--- + +## Exécution + +``` ./backup-bdd-recette.sh -./check-statut-recette.sh ``` --- -# Exécution automatique avec Cron +# 6. Script : check-statut-recette.sh -Ouvrez le crontab : +Script : + + +## Objectif + +Vérifier la disponibilité des applications web. + +Ce script agit comme un **mini système de monitoring**. + +--- + +## Vérifications + +Pour chaque application : + +1. résolution DNS +2. requête HTTP +3. analyse du code HTTP + +Codes valides : -```bash -crontab -e ``` - -Exemple de planification : - -Backup des bases tous les jours à 19h : - -```bash -0 19 * * * /chemin/vers/le/script/backup-bdd-recette.sh -``` - -Vérification des applications tous les jours à 19h : - -```bash -0 19 * * * /chemin/vers/le/script/check-statut-recette.sh +200 → 399 ``` --- -# Avertissement +## Exemple de configuration -Assurez-vous que : +``` +APP_URLS="ferme.malio-dev.fr sirh.malio-dev.fr inventory.malio-dev.fr" +``` -* PostgreSQL est accessible depuis la machine exécutant le script -* la clé SSH pour le transfert des sauvegardes est configurée -* les variables du fichier `.env` sont correctement renseignées -* les commandes `curl`, `psql` et `pg_dump` sont installées sur le système +--- + +## Logs + +Fichier généré : + +``` +app_health_YYYY-MM-DD.log +``` + +Format : + +``` +date | statut | host | détail +``` + +--- + +## Exemple de notification Discord + +``` +CHECK APP RECETTE 🟢 + +✅ ferme.malio-dev.fr : OK +✅ sirh.malio-dev.fr : OK +✅ inventory.malio-dev.fr : OK +``` + +--- + +# 7. Script : rebuild-bdd-recette.sh + +Script : + + +## Objectif + +Restaurer une base PostgreSQL à partir d’un dump distant. + +--- + +## Fonctionnement + +Le script : + +1. charge la configuration `.env` +2. installe PostgreSQL si nécessaire +3. démarre le service PostgreSQL +4. demande la base à restaurer +5. récupère le dernier dump sur le serveur distant +6. récupère le dernier export des rôles +7. crée les rôles manquants +8. supprime la base existante si nécessaire +9. restaure la base via `pg_restore` +10. envoie une notification Discord + +--- + +## Sélection de la base + +Les bases disponibles sont lues depuis : + +``` +DBS="sirh inventory ferme" +``` + +Exemple : + +``` +1) sirh +2) inventory +3) ferme +``` + +--- + +## Commande utilisée pour la restauration + +``` +pg_restore +--clean +--if-exists +--no-owner +--no-privileges +``` + +Ces options évitent les conflits entre environnements. + +--- + +# 8. Logs + +Les scripts produisent des logs détaillés : + +``` +backup logs +restore logs +app health logs +``` + +Ces logs permettent : + +* diagnostic des erreurs +* audit des opérations +* suivi des backups + +--- + +# 9. Automatisation recommandée + +### Backup et check quotidien + +``` +0 19 * * * /scripts/backup-bdd-recette.sh +0 19 * * * /scripts/check-statut-recette.sh +``` + +--- + +# 10. Bonnes pratiques + +Recommandé : + +* isoler le **serveur de stockage** +* vérifier régulièrement les restaurations +--- diff --git a/RecetteScripts/backup.env.exemple b/RecetteScripts/backup.env.exemple new file mode 100644 index 0000000..4d1882b --- /dev/null +++ b/RecetteScripts/backup.env.exemple @@ -0,0 +1,65 @@ +############################################################################### +# ENVIRONNEMENT +############################################################################### + +# Nom de l'environnement +ENV_NAME=RECETTE + +############################################################################### +# POSTGRESQL +############################################################################### + +# Host du serveur PostgreSQL +PGHOST=localhost + +# Port PostgreSQL +PGPORT=5432 + +# Utilisateur utilisé pour réaliser les dumps +PGUSER= + +# Mot de passe PostgreSQL +PGPASSWORD= + +# Bases de données à sauvegarder (séparées par des espaces) +DBS="sirh inventory ferme" + +############################################################################### +# SERVEUR DISTANT DE BACKUP +############################################################################### + +# Utilisateur SSH du serveur de backup +BACKUP_REMOTE_USER= + +# Host ou IP du serveur distant +BACKUP_REMOTE_HOST= + +# Dossier distant où seront stockées les sauvegardes +BACKUP_REMOTE_DIR=/home/.../backups/bdd-recette + +############################################################################### +# SSH +############################################################################### + +# Clé SSH utilisée pour se connecter au serveur distant +SSH_KEY=/home/.../.ssh/id_ed25519_backup + +# Timeout de connexion SSH (secondes) +SSH_TIMEOUT=10 + +############################################################################### +# LOGS +############################################################################### + +# Dossier où seront stockés les logs du script +BACKUP_LOG_DIR=/var/log/script/ + +############################################################################### +# DISCORD (optionnel) +############################################################################### + +# Webhook Discord pour envoyer les notifications +DISCORD_WEBHOOK_URL= + +# Mention envoyée en cas d'erreur +DISCORD_PING=@here \ No newline at end of file diff --git a/RecetteScripts/check-statut-recette.sh b/RecetteScripts/check-statut-recette.sh index 23b1d65..c021f78 100644 --- a/RecetteScripts/check-statut-recette.sh +++ b/RecetteScripts/check-statut-recette.sh @@ -114,7 +114,6 @@ add_summary_line() { ####################################### # Envoi du message Discord récapitulatif ####################################### - send_discord_summary() { [[ -z "${DISCORD_WEBHOOK_URL:-}" ]] && return 0 @@ -126,17 +125,23 @@ send_discord_summary() { ping_prefix="${DISCORD_PING} " fi - local msg="**${ping_prefix}CHECK APP ${ENV_NAME} ${header_icon}**" + local msg + msg="$(printf '**%sCHECK APP %s %s**\n' \ + "$ping_prefix" \ + "$ENV_NAME" \ + "$header_icon" + )" local line for line in "${SUMMARY_LINES[@]}"; do - msg+=$'\n'"${line}" + msg+="$(printf '%s\n' "$line")" done local payload payload="$(jq -n --arg content "$msg" '{content: $content}')" - curl -fsS -H "Content-Type: application/json" \ + curl -fsS \ + -H "Content-Type: application/json" \ -d "$payload" \ "$DISCORD_WEBHOOK_URL" >/dev/null || true } diff --git a/RecetteScripts/check-statut.env.exemple b/RecetteScripts/check-statut.env.exemple new file mode 100644 index 0000000..6cc8a87 --- /dev/null +++ b/RecetteScripts/check-statut.env.exemple @@ -0,0 +1,42 @@ +############################################################################### +# ENVIRONNEMENT +############################################################################### + +# Nom de l'environnement surveillé +ENV_NAME=RECETTE + +############################################################################### +# LOGS +############################################################################### + +# Dossier où seront stockés les logs du script +APP_LOG_DIR=/var/log/script + +############################################################################### +# PARAMÈTRES DE VÉRIFICATION HTTP +############################################################################### + +# Timeout de connexion à l'application (secondes) +# Si le serveur ne répond pas dans ce délai, la connexion échoue +CHECK_CONNECT_TIMEOUT=5 + +# Temps maximum total autorisé pour la requête HTTP (secondes) +CHECK_MAX_TIME=10 + +############################################################################### +# APPLICATIONS À SURVEILLER +############################################################################### + +# Liste des applications à vérifier (séparées par des espaces) + +APP_URLS="ferme.malio-dev.fr inventory.malio-dev.fr sirh.malio-dev.fr" + +############################################################################### +# DISCORD +############################################################################### + +# Webhook Discord pour envoyer le résumé des vérifications +DISCORD_WEBHOOK_URL=https: + +# Mention Discord en cas de problème +DISCORD_PING=@here \ No newline at end of file diff --git a/RecetteScripts/rebuild.env.exemple b/RecetteScripts/rebuild.env.exemple new file mode 100644 index 0000000..5865dd7 --- /dev/null +++ b/RecetteScripts/rebuild.env.exemple @@ -0,0 +1,80 @@ +############################################################################### +# ENVIRONNEMENT +############################################################################### + +# Nom de l'environnement +# Exemple : DEV / RECETTE / PROD +ENV_NAME=RECETTE + +############################################################################### +# POSTGRESQL LOCAL +############################################################################### + +# Hôte PostgreSQL local sur lequel la restauration sera effectuée +PGHOST=localhost + +# Port PostgreSQL local +PGPORT=5432 + +# Utilisateur PostgreSQL utilisé pour créer la base et lancer la restauration +PGUSER= + +# Mot de passe +PGPASSWORD= + +# Liste des bases proposées à la restauration (séparées par des espaces) +# L'utilisateur pourra en choisir une dans le script +DBS="sirh inventory ferme" + +############################################################################### +# SERVEUR DISTANT DE BACKUP +############################################################################### + +# Utilisateur SSH du serveur distant contenant les dumps +BACKUP_REMOTE_USER= + +# Hôte ou IP du serveur distant +BACKUP_REMOTE_HOST= + +# Répertoire racine distant : +BACKUP_REMOTE_DIR=/home/.../backups/bdd-recette + +############################################################################### +# SSH +############################################################################### + +# Clé privée SSH utilisée pour se connecter au serveur distant +SSH_KEY=/home/.../.ssh/id_ed25519_backup + +# Timeout de connexion SSH en secondes +# Variable optionnelle dans le script, mais utile ici comme valeur par défaut +SSH_CONNECT_TIMEOUT=8 + +############################################################################### +# LOGS +############################################################################### + +# Dossier local dans lequel seront écrits les logs de restauration +BACKUP_LOG_DIR=/var/log/pg_backup + +############################################################################### +# RESTAURATION LOCALE +############################################################################### + +# Dossier local temporaire pour télécharger les fichiers avant restauration +# Optionnel : si absent, le script utilise ./restore_tmp +LOCAL_RESTORE_DIR=/tmp/rebuild-bdd-recette + +############################################################################### +# RÔLES POSTGRESQL DISTANTS +############################################################################### + +# Nom du dossier distant contenant les exports SQL des rôles +REMOTE_ROLES_DIR_NAME=user + +############################################################################### +# DISCORD +############################################################################### + +# Webhook Discord pour notifier le succès de la restauration +DISCORD_WEBHOOK_URL= \ No newline at end of file diff --git a/global.env.exemple b/global.env.exemple new file mode 100644 index 0000000..4b8a6a1 --- /dev/null +++ b/global.env.exemple @@ -0,0 +1,132 @@ +############################################################################### +# FICHIER .env.example +# +# Ce fichier sert de modèle de configuration pour les scripts d'automatisation : +# - backup-bdd-recette.sh → sauvegarde PostgreSQL +# - rebuild-bdd-recette.sh → reconstruction d'une base PostgreSQL +# - check-statut-recette.sh → vérification disponibilité des applications +# - check-storage.sh → surveillance de l'espace disque +# - backup-vaultwarden.sh → sauvegarde du service Vaultwarden +# +# Copier ce fichier en .env puis remplir les valeurs. +############################################################################### + +############################################# +# ENVIRONNEMENT +############################################# + +# Nom de l'environnement (ex : DEV / RECETTE / PROD) +ENV_NAME=RECETTE + + +############################################# +# DISCORD +############################################# + +# Webhook Discord utilisé pour envoyer les notifications +WEBHOOK_URL= + + +############################################# +# POSTGRESQL +############################################# + +# Adresse du serveur PostgreSQL +PGHOST=localhost + +# Port PostgreSQL +PGPORT=5432 + +# Utilisateur utilisé pour les dumps +PGUSER= + +# Mot de passe +PGPASSWORD= + +# Bases de données à sauvegarder (séparées par espace) +# Utilisé par backup-bdd-recette.sh +DBS="sirh inventory ferme" + + +############################################# +# BACKUPS LOCAUX +############################################# + +# Dossier local où les dumps seront générés temporairement +BACKUP_LOCAL_DIR=/var/backups/postgresql + +# Dossier des logs de sauvegarde +BACKUP_LOG_DIR=/var/log/script/... + + +############################################# +# SERVEUR DISTANT DE STOCKAGE +############################################# + +# Utilisateur du serveur de backup distant +BACKUP_REMOTE_USER= + +# Adresse IP ou hostname du serveur de stockage +BACKUP_REMOTE_HOST= + +# Dossier distant où stocker les backups +BACKUP_REMOTE_DIR=/home/.../backups/bdd-recette + + +############################################# +# SSH +############################################# + +# Clé SSH utilisée pour se connecter au serveur distant +SSH_KEY=/home/.../.ssh/id_ed25519_backup + +# Timeout SSH (secondes) +SSH_TIMEOUT=10 + + +############################################# +# ROTATION DES BACKUPS +############################################# + +# Nombre de jours de conservation des sauvegardes +BACKUP_RETENTION_DAYS=10 + + +############################################# +# APPLICATIONS À SURVEILLER +############################################# + +# Liste des applications à vérifier +APPS=" +ferme.malio-dev.fr +inventory.malio-dev.fr +sirh.malio-dev.fr +" + + +############################################# +# VAULTWARDEN +############################################# + +# Dossier contenant les données Vaultwarden +VAULTWARDEN_DATA_DIR=/opt/vaultwarden/data + +# Dossier local où stocker le backup +VAULTWARDEN_BACKUP_DIR=/var/backups/vaultwarden + + +############################################# +# SERVEUR IA / STOCKAGE CENTRAL +############################################# + +# Utilisateur SSH du serveur distant +IA_SSH_USER= + +# Host du serveur distant +IA_SSH_HOST= + +# Dossier racine contenant les dumps PostgreSQL +IA_BASE_DIR=/home/.../backups/bdd-recette + +# Dossier contenant les rôles PostgreSQL exportés +REMOTE_ROLES_NAME=user \ No newline at end of file