diff --git a/.env.exemple b/.env.exemple new file mode 100644 index 0000000..541796c --- /dev/null +++ b/.env.exemple @@ -0,0 +1 @@ +WEBHOOK_URL= \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..afdbc42 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# Secrets / environment +.env +.env.* +!.env.example +!.env.exemple + +# IDE / editor +.idea/ +.vscode/ \ No newline at end of file diff --git a/CheckStorage/README.md b/CheckStorage/README.md new file mode 100644 index 0000000..dd5886b --- /dev/null +++ b/CheckStorage/README.md @@ -0,0 +1,43 @@ +# Scripts de vérification de l'espace de stockage + +Ce projet contient des scripts pour vérifier l'espace de stockage + +## Préambule +Ce script est conçu pour vérifier l'espace de stockage disponible sur un serveur et envoyer une alerte +La vérification de l'espace de stockage ce fait sur la partition racine. +La limite d'alerte est fixée à 70% d'utilisation, mais vous pouvez ajuster cette valeur dans le script selon vos besoins. + +## Installation du script + +1. Clonez le dépôt GitHub : + ```bash + git clone https://gitea.malio.fr/MALIO-DEV/Scripts-Serveur.git + ``` + +2. Accédez au répertoire du projet : +3. ```bash + cd Scripts-Serveur/CheckStorage + ``` + +## Utilisation du script +1. Donnez les permissions d'exécution au script : + ```bash + chmod +x check_storage.sh + ``` +2. Exécutez le script pour vérifier l'espace de stockage : + ```bash + ./check_storage.sh + ``` + +## Initialisé un cron pour exécuter le script régulièrement +1. Ouvrez le crontab pour l'édition : + ```bash + crontab -e + ``` +2. Ajoutez la ligne suivante pour exécuter le script tous les jours à 7h50 du matin : + ```bash + 50 7 * * * /chemin/vers/le/script/check_storage.sh + ``` + +## Avertissement +Assurez-vous de remplacer `/chemin/vers/le/script/check_storage.sh` par le chemin réel où se trouve le script sur votre système. \ No newline at end of file diff --git a/check_storage.sh b/CheckStorage/check_storage.sh similarity index 65% rename from check_storage.sh rename to CheckStorage/check_storage.sh index 29d7685..4ec5f1e 100644 --- a/check_storage.sh +++ b/CheckStorage/check_storage.sh @@ -1,9 +1,14 @@ #!/bin/bash -limit=1 -WEBHOOK_URL="https://discord.com/api/webhooks/1479061246903845048/oInyHOf1l7t-jbu9c1lvQDBUxT7m96sUpoDak-V_wjR4IRFi2zz9prC20IKq6cLHF8FO" +limit=70 +# Mettre le lien de votre webhook Discord dans un .env +WEBHOOK_URL=$(grep -E '^WEBHOOK_URL=' .env | cut -d '=' -f2-) + +# Récupérer l'utilisation du disque en pourcentage usage=$(df -h / | awk 'NR==2 {gsub(/%/,"",$5); print $5}') +# Calculer l'espace libre en pourcentage free=$((100 - usage)) +# Si l'utilisation dépasse la limite, envoyer une alerte sur Discord if [ "$usage" -ge "$limit" ]; then msgLimit="@here\n**CHECK STOCKAGE :red_circle:**\nLimite autorisé : ${limit}% \nUtilisation actuelle: ${usage}%\nEspace restant: ${free}%\nHeure: $(date)" curl -X POST \ @@ -11,6 +16,7 @@ if [ "$usage" -ge "$limit" ]; then -H "Content-Type: application/json; charset=utf-8" \ -d "{\"content\":\"$msgLimit\"}" \ "$WEBHOOK_URL" + # Log de l'alerte echo "ALERTE >> ${usage}% d'utilisation, check fait le $(date)" echo "------------------------------------------------------------" fi diff --git a/README.md b/README.md index 59f21e2..b579fed 100644 --- a/README.md +++ b/README.md @@ -1 +1,7 @@ # Scripts Serveur MALIO + +Ce projet contient des scripts pour la gestion et la maintenance des serveurs de MALIO. + + +## Scripts disponibles +* [CheckStorage] : Script de vérification de l'espace de stockage \ No newline at end of file