feat/384-correctif #8

Merged
Matteo merged 2 commits from feat/384-correctif into develop 2026-03-09 12:23:16 +00:00
5 changed files with 5 additions and 65 deletions

View File

@@ -12,7 +12,6 @@ DATA_DIR=
# Dossier local où seront stockées les archives
LOCAL_BACKUP=
#############################################
# SERVEUR DE BACKUP DISTANT
#############################################
@@ -26,7 +25,6 @@ REMOTE_HOST=
# Répertoire distant de stockage des backups
REMOTE_DIR=
#############################################
# AUTHENTIFICATION SSH
#############################################

View File

@@ -1,5 +1,5 @@
# FONCTIONNEMENT DU SCRIPT VAULTWARDEN
Le script de backup de vaultwarden permet une sauvegard périodique des mots de passe et utilisateurs de celui-ci.
Le script de backup de vaultwarden permet une sauvegarde périodique des mots de passe et utilisateurs de celui-ci.
## INITIALISATION DES VARIABLES DE MANIÈRE SÉCURISÉ
@@ -13,7 +13,7 @@ SSH_KEY=...
DATA_DIR=...
```
2. on recupere les varibales dans le script
2. on récupère les variables dans le script
```bash
REMOTE_USER=$(grep -E '^REMOTE_USER=' .env | cut -d '=' -f2-)
```

View File

@@ -1,28 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
###############################################################################
# backup-vaultwarden.sh
#
# Ce script réalise une sauvegarde complète des données Vaultwarden
# en compressant le répertoire contenant les données, puis transfère
# larchive vers un serveur distant de stockage via SSH.
#
# Fonctionnement global :
# 1. charge la configuration depuis le fichier .env ;
# 2. initialise les chemins du script et le fichier de log ;
# 3. vérifie la présence des variables obligatoires dans le .env ;
# 4. vérifie lexistence du dossier de données Vaultwarden ;
# 5. crée une archive compressée (.tar.gz) du dossier DATA_DIR ;
# 6. crée le dossier de destination sur le serveur distant ;
# 7. transfère larchive vers le serveur distant via SCP ;
# 8. supprime larchive locale après transfert ;
# 9. enregistre les opérations dans un fichier log ;
# 10. envoie une notification Discord indiquant le succès ou léchec.
#
# Le script est conçu pour être exécuté automatiquement via cron
# et permet de conserver une copie distante des données Vaultwarden
# afin de garantir leur récupération en cas de perte locale.
###############################################################################
#######################################
# Chemins fixes du script

View File

@@ -1,28 +1,4 @@
#!/bin/bash
###############################################################################
# disk-usage-check.sh
#
# Ce script vérifie l'utilisation du disque sur la partition racine "/".
# Si l'utilisation dépasse un seuil défini, une alerte est envoyée sur Discord
# via un webhook.
#
# Fonctionnement :
# 1. Définit une limite maximale d'utilisation du disque (limit).
# 2. Récupère l'URL du webhook Discord depuis le fichier .env.
# 3. Récupère les informations disque avec la commande df :
# - espace total
# - espace utilisé
# - espace disponible
# - pourcentage d'utilisation
# 4. Convertit les valeurs bytes en gigaoctets pour un affichage lisible.
# 5. Si l'utilisation dépasse la limite définie :
# - envoie un message d'alerte sur Discord.
# 6. Affiche dans la console les informations de stockage.
#
# Ce script est généralement exécuté via cron pour surveiller
# automatiquement l'espace disque d'un serveur.
###############################################################################
###############################################################################
# CONFIGURATION
###############################################################################
@@ -31,16 +7,13 @@
limit=70
# Récupération du webhook Discord depuis le fichier .env
# Le script cherche la ligne WEBHOOK_URL= et extrait la valeur
WEBHOOK_URL=$(grep -E '^WEBHOOK_URL=' .env | cut -d '=' -f2-)
###############################################################################
# RÉCUPÉRATION DES INFORMATIONS DISQUE
###############################################################################
# La commande df -B1 renvoie les informations disque en bytes
# awk récupère la ligne correspondant à la partition "/"
# puis extrait les informations
# extraction des informations
read -r total_bytes used_bytes avail_bytes usage <<<"$(df -B1 / | awk 'NR==2 {gsub(/%/,"",$5); print $2, $3, $4, $5}')"
# Calcul du pourcentage d'espace libre
@@ -60,8 +33,7 @@ avail_gb=$(awk -v b="$avail_bytes" 'BEGIN {printf "%.2f", b/1024/1024/1024}')
# VÉRIFICATION DU SEUIL D'UTILISATION
###############################################################################
# Si l'utilisation dépasse la limite définie,
# une alerte est envoyée sur Discord
# Si l'utilisation dépasse la limite définie, une alerte est envoyée sur Discord
if [ "$usage" -ge "$limit" ]; then
msgLimit="@here\n**CHECK STOCKAGE :red_circle:**\nLimite autorisé : ${limit}%\nUtilisation actuelle: ${usage}%\nEspace restant: ${free}%\nUtilise / total: ${used_gb} GB / ${total_gb} GB\nDisponible: ${avail_gb} GB\nHeure: $(date)"
@@ -74,8 +46,7 @@ if [ "$usage" -ge "$limit" ]; then
fi
##############################################################
# ################
###############################################################################
# AFFICHAGE DES INFORMATIONS STOCKAGE
###############################################################################

View File

@@ -5,7 +5,6 @@
# Nom de l'environnement (ex: DEV / RECETTE / PROD)
ENV_NAME=RECETTE
#############################################
# POSTGRESQL
#############################################
@@ -25,7 +24,6 @@ PGPASSWORD=change_me_secure_password
# Bases à sauvegarder (séparées par espace)
DBS="sirh inventory ferme"
#############################################
# SERVEUR DE STOCKAGE DES BACKUPS
#############################################
@@ -39,7 +37,6 @@ BACKUP_REMOTE_HOST=192.168.1.50
# Dossier distant pour stocker les backups
BACKUP_REMOTE_DIR=/home/backup/backups
#############################################
# SSH
#############################################
@@ -50,7 +47,6 @@ SSH_KEY=/home/backup/.ssh/id_ed25519_backup
# Timeout SSH (secondes)
SSH_TIMEOUT=10
#############################################
# LOGS
#############################################
@@ -61,7 +57,6 @@ BACKUP_LOG_DIR=/var/log/pg_backup
# Dossier logs monitoring apps
APP_LOG_DIR=/var/log/app_health
#############################################
# DISCORD
#############################################
@@ -72,7 +67,6 @@ DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/xxxxxxxxxxxxxxxx/xxxxxxxxxx
# Ping en cas d'erreur
DISCORD_PING=@here
#############################################
# HEALTH CHECK APPS
#############################################