PVNet Backup Tool est une application en Go conçue pour automatiser les sauvegardes de bases de données SQL et de sites web hébergés sur des serveurs distants via SSH. L'outil permet de sélectionner un hôte à partir d'une configuration SSH, d'exécuter des sauvegardes, et de télécharger les fichiers de sauvegarde localement. Il supporte également la vérification des serveurs Apache.
## Fonctionnalités
- **Sélection de l'hôte SSH** : Choisissez parmi une liste d'hôtes configurés pour établir une connexion sécurisée.
- **Sauvegarde SQL** : Effectuez des dumps MySQL et téléchargez les fichiers de sauvegarde.
- **Sauvegarde de site web** : Téléchargez des répertoires complets de sites web hébergés sur le serveur distant.
- **Vérification du serveur Apache** : Option pour vérifier l'état des serveurs Apache.
- **Gestion des configurations via Excel** : Utilise un fichier Excel pour gérer les configurations spécifiques à chaque hôte.
## Prérequis
- **Go** : Assurez-vous que Go est installé sur votre machine. [Télécharger Go](https://golang.org/dl/)
- **Fichiers de configuration SSH** : Accès SSH configuré pour les hôtes cibles.
- **Fichier `.env`** : Configurations des chemins et paramètres nécessaires.
- **Fichier Excel** : Contient les informations nécessaires pour les sauvegardes.
## Installation
1. **Cloner le dépôt**
```bash
git clone https://canguidev.fr/pvnet.git
cd pvnet
```
2. **Installer les dépendances**
Utilisez `go mod` pour installer les dépendances nécessaires.
```bash
go mod tidy
```
3. **Construire l'application**
```bash
go build -o pvnet main.go
```
## Configuration
### Fichier `.env`
Créez un fichier `.env` à la racine du projet avec les variables suivantes :
Une liste d'hôtes configurés sera affichée. Utilisez les flèches pour sélectionner l'hôte désiré et appuyez sur Entrée.
3. **Choisir une action**
Après sélection de l'hôte, choisissez l'action à effectuer :
- **Backup SQL and download** : Effectue une sauvegarde SQL et télécharge le fichier.
- **Backup site** : Sauvegarde le site web et télécharge les fichiers.
- **Check serveur apache** : Vérifie l'état du serveur Apache.
4. **Processus de sauvegarde**
Selon l'action choisie, le programme exécutera les commandes nécessaires sur le serveur distant, effectuera les sauvegardes, et téléchargera les fichiers sur votre machine locale.
**Remarque** : Assurez-vous que les chemins spécifiés dans le fichier `.env` et le fichier Excel sont corrects et que les permissions nécessaires sont accordées pour les opérations SSH et SFTP.