Passer au contenu principal

Script de Sauvegarde

#!/bin/bash

# Définir les variables
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/home/gabe/Téléchargement"  # Dossier de destination des sauvegardes
ARCHIVE_NAME="full_backup_$DATE.tar.gz"
EXCLUDES="--exclude=/home/gabe/Téléchargement --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/run --exclude=/mnt --exclude=/media --exclude=/lost+found"

# Créer le dossier de sauvegarde s'il n'existe pas
mkdir -p $BACKUP_DIR

# Créer une archive compressée de l'intégralité du serveur, en excluant les dossiers qui ne doivent pas être sauvegardés
echo "Création de la sauvegarde complète du serveur..."
tar -czvf $BACKUP_DIR/$ARCHIVE_NAME $EXCLUDES /

# Vérifier si la sauvegarde a été créée avec succès
if [ $? -eq 0 ]; then
  echo "Sauvegarde complète créée avec succès : $BACKUP_DIR/$ARCHIVE_NAME"
else
  echo "Erreur lors de la création de la sauvegarde."
  exit 1
fi

# Optionnel : Supprimer les sauvegardes plus anciennes que 7 jours
find $BACKUP_DIR -type f -name "*.tar.gz" -mtime +7 -exec rm {} \;

echo "Nettoyage des anciennes sauvegardes terminé."

Explication du Script

  • Variables :

    • DATE : Génère une date pour nommer l'archive de sauvegarde de manière unique.
    • BACKUP_DIR : Répertoire où les sauvegardes seront enregistrées (/home/gabe/telechargemen).
    • ARCHIVE_NAME : Nom de l'archive de sauvegarde (full_backup_<date>.tar.gz).
    • EXCLUDES : Liste des répertoires exclus de la sauvegarde pour éviter les fichiers temporaires et dynamiques.
  • Étapes du script :

    1. Créer le dossier de sauvegarde : Le script crée le répertoire de destination s'il n'existe pas (mkdir -p).
    2. Créer l'archive compressée : Utilise tar pour créer une archive compressée de tout le système (/) en excluant les répertoires définis.
    3. Vérifier le succès de la sauvegarde : Le script vérifie si la commande tar a réussi, puis affiche un message approprié.
    4. Nettoyer les anciennes sauvegardes : Supprime les sauvegardes de plus de 7 jours pour éviter de saturer l'espace disque.

Où Stocker le Script

Il est important de placer le script dans un endroit sécurisé et facilement accessible. Voici quelques suggestions :

1. Dossier Personnel

  • Emplacement : /home/gabe/scripts.
  • Commandes
  • mkdir -p /home/gabe/scripts
    mv full_backup_serveur.sh /home/gabe/scripts/
    chmod +x /home/gabe/scripts/full_backup_serveur.sh
    
    • tilisation : Le script peut être exécuté en tapant simplement full_backup_serveur.sh.

    3. Répertoire /root/

    • Emplacement : /root/ pour le sécuriser et le rendre accessible uniquement par root.
    • Commandes
    • sudo mv full_backup_serveur.sh /root/
      sudo chmod +x /root/full_backup_serveur.sh
      
    • Dossier de Sauvegarde

      • Emplacement : /home/gabe/telechargemen pour garder le script avec les sauvegardes.
      • Commandes :
        mv full_backup_serveur.sh /home/gabe/telechargemen/
        chmod +x /home/gabe/telechargemen/full_backup_serveur.sh
        

        Lancer le Script

        Manuellement

        Pour lancer le script manuellement, utilisez la commande suivante :

      • /home/gabe/scripts/full_backup_serveur.sh
        
      • Ou, s'il est dans /usr/local/bin, vous pouvez simplement taper :

        full_backup_serveur.sh
        

        Automatiser la Sauvegarde avec cron

        Pour automatiser l'exécution du script, vous pouvez configurer une tâche cron :

        1. Ouvrez l'éditeur cron avec la commande :

          crontab -e
        2. Ajoutez la ligne suivante pour exécuter le script tous les jours à 2h du matin :
          0 2 * * * /home/gabe/scripts/full_backup_serveur.sh
          Cela garantira que le serveur est sauvegardé automatiquement tous les jours.