Sauvegarde de site

Une sauvegarde de site permet à l'administrateur d'un site d'enregistrer la totalité des données associées à un site Moodle. Les sauvegardes peuvent être restaurées afin de reconstituer un site dans l'état-même où il se trouvait au moment où la sauvegarde à été effectuée.

Il est vivement recommandé d'effectuer des sauvegardes de manière régulière afin de réduire la quantité de données perdues dans l'éventualité d'un problème sur le site et pour rendre plus rapide l'éventuel processus de restauration.

Qu'est-ce qui doit être sauvegardé ?

Un système Moodle comprend trois parties :

  1. les données stockées dans la base de données (par exemple une base de données MySQL) ;
  2. les fichiers déposés par les utilisateurs (par exemple les fichiers de cours déposés), stockés dans le dossier moodledata ;
  3. le code source de Moodle (tout ce qui est stocké par exemple dans le dossier server/htdocs/moodle.

Les emplacements de ces trois éléments de votre installation Moodle peuvent être déterminés en consultant le fichier de configuration config.php.

  1. $CFG->dbname indique le nom de la base de données,
  2. $CFG->prefix indique le préfixe des noms des tables de la base de données,
  3. $CFG->dataroot indique où les fichiers déposés sont stockés (en principe le dossier moodledata), et
  4. $CFG->wwwroot indique l'endroit où réside le code source.

Astuce

En principe, la base de données (dbname et prefix) et les fichiers déposés (dataroot) sont les deux parties les plus importantes à sauvegarder de manière régulière. Elles contiennent les informations susceptibles de changer souvent.

Le code source de Moodle (wwwroot) est moins important à sauvegarder de manière régulière, car il ne change que lors des mises à jour du code, de l'ajout de plugins ou de modifications manuelles du code (fortement déconseillées). Il est en outre toujours possible d'obtenir le code source standard de Moodle sur http://download.moodle.org/, de sorte qu'il n'est nécessaire de sauvegarder que les parties que vous avez ajoutées ou modifiées vous-même.

Effectuer une sauvegarde de votre site Moodle

Base de données

La façon adéquate de sauvegarder votre base de données dépend du système de base de données que vous utilisez. Les instructions ci-dessous montrent une manière de sauvegarder une base de données MySQL. Une autre option utiliserait un outil comme phpMyAdmin pour faire une sauvegarde manuelle. La documentation de votre système de base de données vous fournira plus d'informations.

Voici l'esquisse d'un script que vous pouvez lancer sur Unix pour sauvegarder votre base de données. C'est une bonne idée de lancer quotidiennement un tel script au moyen d'un cron :

cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump -h example.com -u myusername --password=mypassword -C -Q -e --create-options mydatabasename > moodle-database.sql
gzip moodle-database.sql

Encodage des caractères

Assurez-vous que la sauvegarde de la base de données utilise l'encodage de caractères correct. La plupart du temps, il faut utiliser UTF-8.

Lors de l'enregistrement de l'intégralité de la base de données Moodle, contrôlez les éventuels problèmes d'encodage de caractères. Dans certains cas, les sauvegardes créées à l'aide de mysqldump ou de phpMyAdmin n'encodent pas correctement toutes les données. Dans un tel cas, cela posera des problèmes (caractères non lisibles) lors de la restauration.

Une solution possible à ce problème est d'utiliser MySQL Administrator 1.1 ou un autre outil forçant l'exportation de données encodées en UTF-8.

Outils pour la sauvegarde de la base de données

phpMyAdmin
phpMyAdmin est l'outil proposé par la plupart des fournisseurs d'hébergement.
MySQLDumper
MySQLDumper est un script de sauvegarde pour les bases de données MySQL, écrit en PHP et en Perl. MySQLDumper utilise une technique propriétaire pour éviter les interruptions d’exécution lors du lancement de scripts PHP (la durée maximale d’exécution est habituellement de 30 secondes). MySQLDumper gère également les problèmes d'encodage susmentionnés. Il fonctionne en outre avec les fichiers compressés et permet la configuration de tâches cron et l'envoi vers un site FTP distant.

Fichiers déposés (moodledata)

Les utilisateurs de Moodle déposent des fichiers et créent des dossiers dans l'interface web de Moodle. Ces fichiers et dossiers sont stockés dans un dossier de données souvent dénommé moodledata. Comme il s'agit de simples dossiers et fichiers, de nombreuses possibilités sont disponibles pour sauvegarder ou copier votre dossier moodledata.

  • Vous pouvez par exemple utiliser un programme de transfert de fichiers pour copier l'intégralité du dossier moodledata vers un autre emplacement, disque dur ou ordinateur. De tels programmes sont notamment FTP, WinSP, wget, rsync.
  • On peut utiliser un programme de compression pour créer des fichiers compacts de l'intégralité du dossier (certains de ces formats compactés sont tar, zip, 7z, XZ, BZIP2, GZIP ou WIM). Cela peut être effectué avant ou après le transfert des données.

Astuce

  • Habituellement, tous les fichiers de moodledata ne changent pas systématiquement entre les sauvegardes effectuées régulièrement. Un administrateur prévoyant étudiera les procédures pour des sauvegardes incrémentales ou autres méthodes efficientes.
  • Selon votre environnement, de nombreux outils sont à votre disposition pour sauvegarder les fichiers et votre dossier moodledata.

Code source de Moodle

La sauvegarde du code source de Moodle est analogue à celle du dossier moodledata. Voir en:Tools for backing up server files.

Astuce

Une bonne idée consiste à disposer de plusieurs copies de sauvegarde du code source de votre installation de Moodle. Bien qu'il soit toujours possible de télécharger une copie du code source sur http://download.moodle.org/, cette copie ne comprend pas les personnalisations que vous avez éventuellement effectuées. C'est également une bonne idée de créer une copie de sauvegarde du code de votre Moodle avant d'y effectuer vos personnalisations, qui comprennent l'installation de code tiers, de thèmes et les mises à jour.

Voir aussi