Categories: WordOpsDebian

Comment automiser le backup / restore d’une installation WordOps via un script ?

Pour automatiser la sauvegarde et la restauration d’une installation WordOps via un script sur un serveur Debian, voici un exemple de script bash pour faire des backups et des restores.

1. Script de Backup (Sauvegarde)

Le script suivant va effectuer la sauvegarde des fichiers du site, de la base de données, des configurations de WordOps, et des certificats SSL.

Script backup_wordops.sh :

#!/bin/bash

# Variables
BACKUP_DIR="/root/backups"
DATE=$(date +'%Y-%m-%d_%H-%M-%S')
SITE_NAME="example.com"  # Remplacez par votre nom de domaine
DB_NAME="example_com_db" # Remplacez par le nom de la base de données
DB_USER="root"
DB_PASS="your_mysql_password"  # Remplacez par votre mot de passe MySQL

# Créer le répertoire de sauvegarde s'il n'existe pas
mkdir -p "$BACKUP_DIR/$SITE_NAME/$DATE"

# Sauvegarde des fichiers du site
echo "Sauvegarde des fichiers du site..."
tar -czvf "$BACKUP_DIR/$SITE_NAME/$DATE/${SITE_NAME}_files_backup.tar.gz" /var/www/$SITE_NAME

# Sauvegarde de la base de données
echo "Sauvegarde de la base de données..."
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > "$BACKUP_DIR/$SITE_NAME/$DATE/${SITE_NAME}_db_backup.sql"

# Sauvegarde des configurations de WordOps
echo "Sauvegarde des configurations WordOps..."
tar -czvf "$BACKUP_DIR/$SITE_NAME/$DATE/wordops_config_backup.tar.gz" /etc/wo /etc/nginx /etc/php

# Sauvegarde des certificats SSL (Let’s Encrypt)
echo "Sauvegarde des certificats SSL..."
tar -czvf "$BACKUP_DIR/$SITE_NAME/$DATE/letsencrypt_backup.tar.gz" /etc/letsencrypt/

# Message de fin
echo "Sauvegarde terminée ! Les fichiers sont sauvegardés dans $BACKUP_DIR/$SITE_NAME/$DATE"

Instructions pour exécuter ce script :

  1. Créer le script :
  • Connectez-vous à votre serveur.
  • Créez le fichier de script avec la commande suivante :
sudo nano /usr/local/bin/backup_wordops.sh
  • Copiez le contenu du script dans le fichier.
  • Rendez le script exécutable :
    sudo chmod +x /usr/local/bin/backup_wordops.sh
    • Exécuter le script :
      Vous pouvez exécuter le script manuellement avec la commande suivante :
    sudo /usr/local/bin/backup_wordops.sh

    2. Script de Restore (Restauration)

    Le script suivant va restaurer les fichiers du site, la base de données, la configuration de WordOps et les certificats SSL à partir d’un backup existant.

    Script restore_wordops.sh :

    #!/bin/bash
    
    # Variables
    BACKUP_DIR="/root/backups"
    DATE="2025-02-23_10-00-00"  # Date du backup à restaurer, ajustez selon le fichier de backup
    SITE_NAME="example.com"      # Remplacez par votre nom de domaine
    DB_NAME="example_com_db"     # Remplacez par le nom de la base de données
    DB_USER="root"
    DB_PASS="your_mysql_password"  # Remplacez par votre mot de passe MySQL
    
    # Vérifier si le répertoire de sauvegarde existe
    if [ ! -d "$BACKUP_DIR/$SITE_NAME/$DATE" ]; then
      echo "Le répertoire de sauvegarde $BACKUP_DIR/$SITE_NAME/$DATE n'existe pas. Vérifiez la date."
      exit 1
    fi
    
    # Restauration des fichiers du site
    echo "Restauration des fichiers du site..."
    tar -xzvf "$BACKUP_DIR/$SITE_NAME/$DATE/${SITE_NAME}_files_backup.tar.gz" -C /var/www/
    
    # Restauration de la base de données
    echo "Restauration de la base de données..."
    mysql -u $DB_USER -p$DB_PASS $DB_NAME < "$BACKUP_DIR/$SITE_NAME/$DATE/${SITE_NAME}_db_backup.sql"
    
    # Restauration des configurations de WordOps
    echo "Restauration des configurations WordOps..."
    tar -xzvf "$BACKUP_DIR/$SITE_NAME/$DATE/wordops_config_backup.tar.gz" -C /
    
    # Restauration des certificats SSL (Let’s Encrypt)
    echo "Restauration des certificats SSL..."
    tar -xzvf "$BACKUP_DIR/$SITE_NAME/$DATE/letsencrypt_backup.tar.gz" -C /
    
    # Redémarrer les services nécessaires
    echo "Redémarrage des services..."
    sudo systemctl restart nginx
    sudo systemctl restart php7.4-fpm    # Remplacez la version PHP si nécessaire
    sudo systemctl restart mariadb
    
    # Message de fin
    echo "Restauration terminée ! Votre site est maintenant restauré."
    

    Instructions pour exécuter ce script :

    1. Créer le script :
    • Connectez-vous à votre serveur.
    • Créez le fichier de script avec la commande suivante :
    sudo nano /usr/local/bin/restore_wordops.sh
    • Copiez le contenu du script dans le fichier.
    • Rendez le script exécutable :
    sudo chmod +x /usr/local/bin/restore_wordops.sh
    • Exécuter le script :
      Pour restaurer un backup, vous pouvez exécuter ce script en spécifiant la date de la sauvegarde que vous souhaitez restaurer :
    sudo /usr/local/bin/restore_wordops.sh

    3. Planification des Sauvegardes Automatiques avec cron

    Si vous souhaitez automatiser les sauvegardes, vous pouvez ajouter le script de sauvegarde à un cron job. Par exemple, pour faire une sauvegarde chaque jour à 3h du matin :

    1. Ouvrez la crontab avec : sudo crontab -e
    2. Ajoutez la ligne suivante pour exécuter le script à 3h du matin chaque jour :
    0 3 * * * /usr/local/bin/backup_wordops.sh

    Cela exécutera automatiquement la sauvegarde chaque jour à 3h.


    Ces scripts vous permettent de sauvegarder et de restaurer facilement une installation WordOps sur Debian. Vous pouvez les adapter en fonction de vos besoins et les automatiser pour garantir des sauvegardes régulières de vos données.

    calounx

    Recent Posts

    Comment faire un backup / restore d’une installation WordOps sous Debian 12 ?

    Faire une sauvegarde (backup) et une restauration (restore) d'une installation WordOps sur un serveur Debian…

    10 mois ago

    Comment optimiser WordOps ?

    WordOps est un outil de gestion de serveurs web qui permet de configurer facilement un…

    10 mois ago

    Comment installer WordOps sur un Debian 12

    Voici un guide détaillé pour installer WordOps sur Debian 12 pour gérer un serveur dédié…

    10 mois ago

    Qu’est-ce que WordOps ?

    Un guide complet pour l'optimisation des serveurs WordPress

    10 mois ago