122 lines
2.5 KiB
Markdown
122 lines
2.5 KiB
Markdown
# Scripts Recette
|
||
|
||
Ce dossier contient les scripts utilisés pour l’environnement **RECETTE** du projet **Ferme**.
|
||
|
||
Les scripts permettent principalement :
|
||
|
||
* la **sauvegarde automatique des bases de données PostgreSQL**
|
||
* la **vérification du statut des applications web**
|
||
|
||
---
|
||
|
||
# Scripts disponibles
|
||
|
||
## 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
|
||
|
||
---
|
||
|
||
## check-statut-recette.sh
|
||
|
||
Script permettant de **vérifier la disponibilité des applications web**.
|
||
|
||
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**.
|
||
|
||
---
|
||
|
||
# Installation
|
||
|
||
1. Clonez le dépôt Git :
|
||
|
||
```bash
|
||
git clone https://gitea.malio.fr/MALIO-DEV/Scripts-Serveur.git
|
||
```
|
||
|
||
2. Accédez au dossier des scripts :
|
||
|
||
```bash
|
||
cd Scripts-Serveur/RecetteScripts
|
||
```
|
||
|
||
3. Copiez le fichier d’environnement :
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
4. Modifiez les variables du fichier `.env` selon votre configuration.
|
||
|
||
---
|
||
|
||
# Utilisation
|
||
|
||
Donnez les permissions d’exécution aux scripts :
|
||
|
||
```bash
|
||
chmod +x backup-bdd-recette.sh
|
||
chmod +x check-statut-recette.sh
|
||
```
|
||
|
||
Exécution manuelle :
|
||
|
||
```bash
|
||
./backup-bdd-recette.sh
|
||
./check-statut-recette.sh
|
||
```
|
||
|
||
---
|
||
|
||
# Exécution automatique avec Cron
|
||
|
||
Ouvrez le crontab :
|
||
|
||
```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
|
||
```
|
||
|
||
---
|
||
|
||
# Avertissement
|
||
|
||
Assurez-vous que :
|
||
|
||
* 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
|