feat/384-correctif #8
@@ -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
|
||||
#############################################
|
||||
|
||||
@@ -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-)
|
||||
```
|
||||
|
||||
@@ -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
|
||||
# l’archive 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 l’existence 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 l’archive vers le serveur distant via SCP ;
|
||||
# 8. supprime l’archive 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
|
||||
|
||||
@@ -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
|
||||
###############################################################################
|
||||
|
||||
|
||||
@@ -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
|
||||
#############################################
|
||||
|
||||
Reference in New Issue
Block a user