Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : FAQ de sauvegarde, celle pour les versions 3.x de Moodle est consultable ici : FAQ de sauvegarde et celle pour Moodle 4.x est consultable là : FAQ de sauvegarde.

Remarque : cet article est en cours de rédaction. N'hésitez pas à le compléter. Veuillez utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.




Sauvegardes du site
Les sauvegardes du site, comme il est expliqué dans la mise à jour de Moodle, sont recommandées, afin de pouvoir restaurer toutes les données avec le maximum de confiance et dans les plus brefs délais.
Sauvegardes de cours
Les sauvegardes de cours, configurées sur la page sauvegarde, coûtent davantage en terme de temps et d'utilisation du processeur. Le temps de restauration est également plus élevé pour retrouver votre site complètement fonctionnel. Les sauvegardes de cours sont utiles pour obtenir une copie fraîche de cours à réutiliser ou à distribuer individuellement. Elles ne devraient cependant pas être utilisées comme système de sauvegarde principal (à moins que votre hébergement ne vous permette pas d'autres solutions). Afin d'effectuer des sauvegardes planifiées, vous devrez configurer un cron à lancer périodiquement. Jetez un coup d'oeil à Mettre en place un cron pour de plus amples informations.

Comment sauvegarder la totalité de mon site ?

Il y a deux choses principales à copier : la base de données et les fichiers déposés. Les scripts de Moodle sont moins importants, puisque vous pouvez toujours en télécharger une copie, si nécessaire.

De nombreuses façons de procéder sont possibles pour effectuer de telles sauvegardes. Voici un bref descriptif d'un script que vous pouvez lancer sur Unix ou Mac OS X pour sauvegarder la base de données (c'est une bonne idée d'avoir un tel script qui tourne quotidiennement à l'aide 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 -a mydatabasename > moodle-database.sql
gzip moodle-database.sql

Pour les fichiers, on peut utiliser rsync pour copier régulièrement sur une autre machine les fichiers ayant été modifiés depuis la dernière copie :

rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/

Encodage des caractères

Lors de l'exportation de l'intégralité de la base de données de Moodle, les administrateurs doivent minutieusement contrôler si d'éventuels problèmes d'encodage de caractères surviennent. Dans quelques cas, les sauvegardes créées par le programme mysqldump ou par phpmyadmin n'encodent pas correctement toutes les données, ce qui entraîne l'affichage d'une quantité de caractères bizarre. Une solution est l'utilisation du programmemySQL Administrator 1.1 ou d'un autre outil permettant l'exportation des données dans l'encodage UTF-8.

Quelles données ne sont pas comprises dans les sauvegardes de cours ?

En cochant toutes les options lors de la création de la sauvegarde, vous y inclurez presque toutes les données du cours. Il y a cependant quelques éléments qui ne sont pas sauvegardés :

  • les questions d'une catégorie (module Test) ne sont sauvegardées que si au moins une question de leur catégorie a été ajoutée à un test du cours ;
  • les barèmes ne sont sauvegardés que s'ils sont utilisés au moins dans une activité.

Error: An error occurred deleting old backup data

Cette partie de la procédure de sauvegarde (ou de restauration) essaie de supprimer des anciennes informations, utilisées lors de lancements précédents de la sauvegarde, en effectuant les tâches suivantes :

  • suppression des anciens enregistrements de la table backup_ids : vérification que la table existe, réparation éventuelle et nouvel essai ;
  • suppression des anciens enregistrements de la table backup_files: vérification que la table existe, réparation éventuelle et nouvel essai ;
  • suppression des anciens fichiers du dossier moodledata/temp/backup : suppression de la totalité du dossier et nouvel essai.

Il y a plusiers façons de réparer les tables, notamment en utilisant le programme MySQL Admin.