Sauvegarde et restauration d'Ovidentia

De OviWiki
Aller à : navigation, rechercher

Cette documentation a pour objectif de décrire les principales étapes dans un processus de sauvegarde et de restauration d'un environnement Ovidentia.

Aucune procédure de sauvegarde ou de restauration partielle n'est possible, elles sont forcement globales et les informations de chacune des fonctionnalités (articles, fichiers, forums ...) seront dans l'état ou elles étaient lors de la sauvegarde.

Fichiers de sauvegarde d'Ovidentia

Si la restauration s'effectue sur un nouveau système, il est nécessaire d'installer au préalable l'ensemble des briques techniques indispensables au fonctionnement d'Ovidentia (voir la documentation d'installation pour connaître les pré-requis.)

Si la restauration s'effectue dans l'environnement d'origine, prendre connaissance des informations dans la documentation d'exploitation (chemin du répertoire d'upload, chemin du répertoire racine d'Ovidentia, nom de la base de données. ..).

Sauvegarde

Pour effectuer une restauration d'Ovidentia, il est indispensable de posséder la sauvegarde des informations suivantes :

  • La bases de données d'Ovidentia
  • Le répertoire racine d'Ovidentia et ce qu'il contient. (sous répertoires et fichiers). Ce répertoire contient normalement une arborescence proche de celle-ci :
1er niveau de l'arborescence d'Ovidentia
  • Le répertoire d'upload d'Ovidentia et ce qu'il contient (sous répertoires et fichiers). Pour connaître le chemin du répertoire UPLOAD dans votre environnement, naviguer dans la section « administration » > « Sites » > « Nom du site » > « Configuration des téléchargements vers le serveur » > champ « Répertoire de stockage des fichiers à télécharger »

A noter : les 3 éléments précédents devront être du même jeu de sauvegardes pour effectuer la restauration.

La base de données

Une commande d'export permet de récupérer dans un fichier SQL la structure et les données stockées dans la base de données MySQL.

Exemple de commande :

<source lang="bash"> mysqldump -u IdentifiantMySQL -pMotDePasseMySQL NomBaseDeDonnées > FichierDeSauvegarde.sql </source>

La racine WWW

Ce répertoire contient une arborescence proche de celle-ci :

1er niveau de l'arborescence d'Ovidentia

Le répertoire d'upload

Ce répertoire contient tous les fichiers chargés dans le gestionnaire de fichiers, associés aux articles ou aux forums.L'emplacement de ce répertoire peut être trouvé en tant qu'administrateur depuis la section « administration » > « Sites » > « Nom du site » > « Configuration des téléchargements vers le serveur » > champ « Répertoire de stockage des fichiers à télécharger »

Exemple de script shell de sauvegarde

<source lang="bash">

  1. !/bin/sh
  1. ------- Eléments a modifier --------------------------
  1. Repertoire de sauvegarde

backupdir=/home/save_Ovidentia

  1. Repertoires upload et www

dirupload=/home/Ovidentiaupload dirwww=/var/www/html/Ovidentia

  1. Chemin des commandes Unix utilisées

mysqldumpcmd=/usr/bin/mysqldump tar=/bin/tar gzip=/usr/bin/gzip

  1. MySQL Username and password

userpassword=" --user=VotreUser --password=VotrePassword"

  1. ------- Fin des éléments à modifier --------------------------
  1. Noms des fichiers de sauvegarde
  1. backupfileDB=Ovidentia-DB--`date +%d-%m-%y--%H`.gz
  2. backupfileUPLOAD=Ovidentia-UPLOAD--`date +%d-%m-%y--%H`.tgz
  3. backupfileWWW=Ovidentia-WWW--`date +%d-%m-%y--%H`.tgz

backupfileDB=Ovidentia-DB.gz backupfileUPLOAD=Ovidentia-UPLOAD.tgz backupfileWWW=Ovidentia-WWW.tgz

  1. MySQL dump options

dumpoptions=" --databases --opt --no-create-db Ovidentia "

  1. Tar options

taroptions=" -c -v -z -P -f"

  1. Probleme de repertoire ?

if [ ! -d ${backupdir} ] then

 echo "Not a directory: ${backupdir}"
 exit 1

fi

  1. Dump de toutes les bases Mysql

echo "Dumping de toutes les bases Mysql" $mysqldumpcmd $userpassword $dumpoptions | $gzip > ${backupdir}/$backupfileDB echo "Dump Terminé!"

  1. Compression des fichiers d upload

echo "Compession des fichiers d'upload" $tar $taroptions ${backupdir}/$backupfileUPLOAD $dirupload echo "Compression des fichiers d'upload terminée"

  1. Compression des fichiers WWW

echo "Compression des fichiers WWW" $tar $taroptions ${backupdir}/$backupfileWWW $dirwww echo "Compression des fichiers WWW terminée!"

  1. Sauvegarde sur bande
  1. echo "Lancement de la sauvegarde sur bande"
  2. cd /home/save_extranet/
  3. tar cvf /dev/st0 *
  4. echo "Fin de la sauvegarde sur bande"
  1. Fin de sauvegarde sur bande

exit </source>

Restauration

Restauration de la base de données

Récupérer et copier dans un répertoire temporaire votre fichier de sauvegarde de la base de données (ici Ovidentia-DB.gz).

Décompresser le fichier sauvegardé (avec la commande gunzip Ovidentia-DB.gz)

Créer dans MYSQL la base de données d'accueil. L'utilisation de PHPMyAdmin est possible pour effectuer cette opération.

<source lang="bash"> mysqladmin -u IdentifiantMySQL -pMotDePasseMySQL create MaBdd </source>

Importer le fichier de la sauvegarde dans la base de données. L'utilisation de PHPMyAdmin est possible pour effectuer cette opération.

<source lang="bash"> mysql -u IdentifiantMySQL -pMotDePasseMySQL MaBdd < FichierDeSauvegarde.sql </source>

Restauration du répertoire WWW

Récupérer et copier dans un répertoire temporaire (Par exemple /temp) votre fichier de sauvegarde du répertoire WWW (ici Ovidentia-WWW.tgz).

Décompresser le fichier sauvegardé (avec la commande gunzip Ovidentia-WWW.tgz puis tar -xvf Ovidentia-WWW.tar)

Restauration du répertoire UPLOAD

Récupérer et copier dans un répertoire temporaire votre fichier de sauvegarde du répertoire UPLOAD (ici Ovidentia-UPLOAD.tgz).

Décompresser le fichier sauvegardé (avec la commande gunzip Ovidentia-UPLOAD.tgz puis tar -xvf Ovidentia-UPLOAD.tar)

Modification du fichier config.php

Modification du fichier config.php pour l'adapter au nouvel environnement (nom de la base de données MySQL, utilisateur MySQL, mot de passe MySQL ...).Voir la documentation d'installation d'Ovidentia pour la signification des paramètres du fichiers config.php

Initialisation des droits sur les fichiers

Initialisation des droits de lecture/écriture pour l'utilisateur qui exécute le serveur WWW (IIS ou Apache) sur les fichiers et sous-répertoires des répertoires WWW et UPLOAD.

Test d'un jeu de sauvegardes

Nous vous conseillons de valider la restauration de votre environnement sur votre poste de travail en installant EasyPHP (serveur Apache/PHP/MySQL pour Windows) puis en suivant le processus de restauration décrit ci-dessus.