Problème de sauvegarde d'un cours

Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
Nombre de réponses : 22

Bonjour,

La configuration du site
Moodle version 3.11.7 (Build: 20220509)
Php version 7.4.25

Le site est composé de 6 cours, tous les cours se sauvegardent correctement, sauf un, toujours le même.  Le problème se présente avec utilisation de la cron ou en demandant une sauvegarde directement dans le cours.

Je n'arrive pas à comprendre où se situe l'erreur.

Je me positionne dans le cours, je lance une sauvegarde manuelle  via l'option Effectuer la sauvegarde.  Ensuite, toujours dans le cours, je vais dans l'option restauration et je vois dans "Zone de sauvegarde de cours" le pourcentage de la sauvegarde qui progresse et qui atteint 100% (couleur rouge)

Je regarde sur le serveur dans le répertoire de sauvegarde pour trouver le fichier .mbz et je n'ai aucun fichier de sauvegarde qui correspond à la sauvegarde demandée.

Lors des sauvegardes journalières, dans le mail de la cron, je n'ai que l'information "Statut - Pas terminé"

Pourriez-vous m'aider sur ce sujet, peut être en me guidant sur des fichiers logs qui seraient disponibles  pour identifier l'erreur ?

Merci pas avance de votre Cordialement
Alain



Moyenne des évaluations  -
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,
Elément de réponse rapide et incomplet.
Que dit le mode déboggage ?
Cela m'est arrivé parfois. Il y avait un élément du cours qui provoquait ce blocage.
Qu'avez-vous ajouté de nouveau juste avant le blocage?
Si votre sauvegarde auto est journalière regardez la date de la dernière sauvegarde complète. Et explorez les nouveautés depuis cette date.
Daniel 🇺🇦
En réponse à Daniel Méthot

Re: Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
Bonjour Daniel
Tout d'abord, merci de votre aide.

La sauvegarde de ce cours n'a jamais fonctionné, en cron ou en mode manuel. C'est probablement le cours de le plus important en taille.
Profitant d'une mise de moodle, j'ai revérifié le moodle et je suis tombé sur cette erreur de sauvegarde.

J'ai activé le debug est le message qui apparait est error/moodle/cannot finish ui if not setting ui.

Dans les logs de la cron, la seule information que j'ai est la suivante
Processing asynchronous backup for backup: 938b4cd549ae66dd12a7c0aa6c954d19
Bad backup controller status, is: 800 should be 700, marking job as failed.
Backup completed in: 0 seconds
... used 5 dbqueries
... used 0.061224937438965 seconds
Adhoc task complete: core\task\asynchronous_backup_task
Ran 1 adhoc tasks found at Mon, 30 May 2022 10:18:32 +0200
Cron script completed correctly

Contrairement à ce que je disais, la sauvegarde se bloque à 49%. Pensant que cela pouvait être un problème de mémoire, j'ai augmenté extramemorylimit (moodle) à 1024 au lieu de 512. Mais le résultat est le même.

J'ai regardé dans le répertoire temp/backup pour éventuellement voir une erreur dans les fichiers logs .... mais aucune information.

Sur le forum, certains parlent de la valeur max_execution_time. Actuellement j'ai 165
Le moodle est hébergé chez ovh avec une base Sqlprivé

J'ai changé le innodb_buffer_pool_size pour le mettre à 1024 sur la base de données et le interactive_timeout est à 600
J'ai refais plusieurs essais, même chose la sauvegarde se bloque à 49%.

Je ne sais pas si c'est une erreur de configuration de la base de données, de serveur ou une erreur de données
Merci de votre aide pour m'aiguiller (sourire).
Cdt
Alain
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Bonjour Alain,
Es-tu capable d'estimer la taille de ton cours (d'après la taille des ressources que tu utilises) ?
Si c'est un problème de taille du cours, il faudrait peut-être augmenter les variables max_execution_time, memory_limit, post_max_size, upload_max_filesize
Pour ma part, j'utilise les valeurs suivantes :
max_execution_time: 3600
memory_limit: 2048M
post_max_size: 512M
upload_max_filesize: 512M
Je ne sais pas si ces valeurs sont optimisées pour une plateforme Moodle, mais pour ma part je n'ai pas de problème de sauvegardes (je suis hébergé chez o2switch).
En réponse à Jean-Gabriel DEPINOY

Re: Problème de sauvegarde d'un cours

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,
"Sur le forum, certains parlent de la valeur max_execution_time. Actuellement j'ai 165
Le moodle est hébergé chez ovh avec une base Sqlprivé"

Chez moi j'ai 360.
Mais d'après les valeurs de Jean-Gabriel je pourrais augmenter encore sans doute ?
Un cours très important chez moi dépasse rarement les 200MO.
Mais j'essaie de travailler "léger". Pour toutes sortes de raisons techniques et pédagogiques.
Le plugin course files peut vous aider à voir ce qui est très volumineux dans le cours en question.
Parfois c'est un plugin tiers qui provoque ce défaut.
Daniel 🇺🇦
En réponse à Daniel Méthot

Re: Problème de sauvegarde d'un cours

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Oui Daniel. Je ne sais pas si c'est nécessaire de mettre une valeur aussi importante que la mienne, mais je ne sais pas quelle taille fait le cours d'Alain. S'il fait 100 ou 200Mo, c'est sûr que c'est inutile, mais s'il fait 1 ou 2 Go, la question peut se poser.
En réponse à Jean-Gabriel DEPINOY

Re: Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
Bonjour Jean-Gabriel et Daniel,
Tout d'abord merci de votre aide et du retour d'expérience.

J'ai contacté Ovh pour changer les paramètres du php. Mais chez Ovh, mutualisé même avec un Sql privé, il n'est pas possible de modifier les paramètres du php (triste).

Actuellement j'ai
max_execution_time 165
memory_limit 512M
post_max_size 130M
upload_max_filesize 128M


Je fais des tests en lançant des sauvegardes manuelles, en décochant des parties de cours. Hier, j'ai réussi à avoir plusieurs fois une sauvegarde partielle de 884 Mo (partielle car j'avais exclus les badges, événements du calendrier n'étaient pas inclus 34.4 Ko) . Je pense que le cours complet fait 900 Mo maximum .

J'ai refais des tests aujourd'hui, en essayant de modifier chez ovh les paramètres au niveau de la base de données Configuration générale de MySql (wait_timeout, innodb_buffer_pool_size, etc) mais pas de changement, toujours pas de sauvegarde pour ce cours.
==> Je ne sais plus quoi tester ....

Après tous mes tests, puisque les sauvegardes se font partiellement, à priori , cela ne viendrait pas des données Moodle.

Si c'est l'infrastructure ovh qui empêche les sauvegardes, est-il possible de faire des sauvegardes partielles. C'est à dire par exemple une sauvegarde en incluant "Inclure les utilisateurs inscrits, les attributions de rôles, les activités et ressources, Inclure les blocs), puis une autre en incluant les fichiers et pouvoir restaurer ces différentes sauvegardes dans un même cours ?

Ou alors de fusionner ces différentes sauvegardes pour en avoir une complète ?

C'est un peu tordu (sourire), mais si je dois migrer chez un autre fournisseur, je préfère et j'aurai besoin des sauvegardes des cours (sourire)

Encore merci de votre aide
Alain
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Je pense qu'il serait plus judicieux d'essayer de réduire la taille de ton cours. Tu peux, par exemple, utiliser les dépôts dans Moodle et créer un lien par alias vers tes ressources afin que celles-ci ne soient pas intégrées dans la sauvegarde.
Dans ce cas, il faudra juste recréer les liens vers tes ressources le jour où tu changeras de fournisseur.
En réponse à Jean-Gabriel DEPINOY

Re: Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
Merci Jean-Gabriel,

J'utilise déjà pour ce cours que des alias vers des ressources.
C'est pour cela que j'étais surpris des 900 mégas de sauvegarde. Surtout que la base de données de Moodle ne fait que 271 Mo et qu'elle héberge 4 cours dont celui qui ne se sauvegarde pas.

Je pensais que c'était une taille normale en raison des logs.
Mais c'est vrai quand je regarde un autre cours (3 fois moins important en volume de support avec moins d'activités utilisteurs), il ne fait que 20 mégas.

J'ai regardé le plugin course files que conseillait Daniel pour voir ce qui occupe de l'espace mais il n'est plus mis à jour depuis 5 ans. J'ai eu peur de l'installer.

Si je pouvais décompresser le fichier de sauvegarde mbz, cela pourrait peut être me donner une piste ?
Ou peut être un autre plugin qui me permettrait de comprendre la taille des ressources du cours .
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Tu peux toujours essayer d'installer le plugin et le supprimer s'il ne fonctionne pas. Dans les commentaires du plugin, un utilisateur indique qu'il fonctionne avec Moodle 3.10, alors pourquoi pas sur Moodle 3.11 ?
Je ne pense pas que décompresser la sauvegarde t'aiderait. Je pense que Moodle compresse ses propres fichiers avec son propre format mais tu ne retrouveras pas de fichier lisible...
Est-ce que ce cours utilise un type de ressource différent de tes autres cours ou bien a-t-il une autre particularité qui expliquerait sa taille ?
En réponse à Jean-Gabriel DEPINOY

Re: Problème de sauvegarde d'un cours

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Quand j'étais chez OVH, il me semble que j'avais créé un fichier intitulé .user.ini et que j'avais mis dans le dossier /www
Voici son contenu:
upload_max_filesize=2048M
post_max_size=2048M
memory_limit=2048M
max_execution_time=3600
max_input_time=3600
max_allowed_packet=2048M

Il me semble que ça permettait de modifier le paramétrage php de mon hébergement chez OVH (et j'étais en mutualisé).

Dans ce même dossier /www, j'avais aussi mis un fichier .htaccess qui contenait les lignes suivantes:
RewriteEngine On
RewriteRule ^index.php$ https://www.prouve-moodle.fr/moodle/ [QSA,L,R=301]
SetEnvIfNoCase Request_URI ^ / thumb.php no-gzip -vary 'indispensable pour que H5P fonctionne
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) /moodle [R=301,L]

Il me semble que ça permettait de contourner certaines incompatibilités d'OVH (notamment avec les ressources H5P et les connexions sécurisées...
En réponse à Jean-Gabriel DEPINOY

Re: Problème de sauvegarde d'un cours

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles
Bonjour

Quelques pistes pour avancer :

1) Le cours contient-il des devoirs ?
Avez-vous déjà réinitialisé le cours ?
De mémoire, si le cours n'est pas réinitialisé, la sauvegarde reprend les données des utilisateurs désinscrits du cours.

2) Vous pouvez essayer de lancer une sauvegarde manuelle, en désactivant certains éléments du cours
exemple : les données utilisateurs / certaine activités

3) Essayer une sauvegarde en ligne de commande
Soit avec Moosh, le couteau Suisse Moodle si vous pouvez l'installer ( https://moosh-online.com/commands/ )
il contient un commande course-backup qui vous permettrait de faire une sauvegarde en ligne de commande

La sauvegarde en ligne de commande permettrait de ne pas dépendre des timeouts du serveur web

Bruno
Moyenne des évaluations Utile (2)
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour Alain,

Vous dites : "J'ai regardé le plugin course files que conseillait Daniel pour voir ce qui occupe de l'espace mais il n'est plus mis à jour depuis 5 ans. J'ai eu peur de l'installer."
Comme ce plugin ne fait qu'extraire et afficher des données sans rien modifier, j'en ai pris le risque.
D'autant plus que j'ai eu de la part de ce "fidèle serviteur" une sollicitation de mise à jour ces jours derniers. Ce qui m'a rassuré.
Donc je le garde encore. (Je suis en 3.11.5 sur ma PF principale)

Je rejoins le conseil de Jean Gabriel de réduire la taille de votre cours. 800 MO serait monstrueux chez moi.
Et d'ailleurs je pense avoir déjà rencontré votre problème par le passé quand je ne travaillais pas trop sur la taille des cours.
Mais l'usage de la MoodleBox m'y a contraint.
Vous pouvez par exemple le tronçonner en plusieurs cours successifs reliés par le plugin de mode d'inscription "cours terminé".
Mais ce qui me stupéfie c'est que justement vous travaillez déjà avec les alias (liens) !
Il y a un loup* quelque part dans ce cours... 🤔

Daniel 🇺🇦
* Rappel: Espèce protégée...

En réponse à Daniel Méthot

Re: Problème de sauvegarde d'un cours

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Bonjour Daniel,
La taille du course peut s'expliquer par exemple, comme le disait Bruno, s'il y a des devoirs remis et que le cours contient soit beaucoup de devoirs, soit beaucoup d'étudiants.
Dans ca cas, une solution pourrait, comme le disait toujours Bruno, une fois l'année finie, de réinitialiser le cours afin de supprimer toutes les tentatives de tests, tous les dépôts de devoirs, etc et de faire alors la sauvegarde.
Si, malgré tout, le blocage persiste, c'est que le problème vient d'ailleurs.
En réponse à Jean-Gabriel DEPINOY

Re: Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
Tout d'abord merci à tous de votre aide

J'ai effectué une série de test par rapport aux pistes que vous m'avez données

- Fichier .user.ini déposé dans www/moodle
Quand je fais un phpinfo() , j'obtiens 2 colonnes. La première Local Value avec les valeurs .user.ini et l'autre Master Value avec les valeurs par défaut définies par OVH
==> Donc, je pense que les paramètres ne sont pas pris en compte.
En local oui, mais quand la transaction est envoyée sur le serveur, je pense que ce sont les paramètres ovh qui sont pris en compte.

J'ai fais des tests suite à l'ajout du fichier .user.ini et même résultat la sauvegarde est Ko

Ensuite:
- Question de Bruno 1) Le cours contient-il des devoirs ?
Oui et non, c'est simplement un texte d'une phrase qu'envoie les utilisateurs. C'est plus un feedback.
Les étudiants ne chargent pas de fichiers dans le Moodle.

- Question Bruno 3) Essayer une sauvegarde en ligne de commande
J'ai essayé.
Syntaxe sur srv mustualisé :ovh /usr/local/php7.4/bin/php admin/cli/backup.php --courseid=2 --destination=.
Elle se lance mais après quelques minutes, j'ai le message :
!!! Erreur de lecture de la base de données !!!
Potential coding error - existing temptables found when disposing database. Must be dropped!
==> D'après ce que j'ai lu sur les forums, possible problème de capacité du serveur.

- Question Bruno 2) Vous pouvez essayer de lancer une sauvegarde manuelle, en désactivant certains éléments du cours exemple : les données utilisateurs / certaine activités
Je l'avais déjà fait et certaines sauvegardes fonctionnaient.

Je suis allé plus loin en installant plugin course files (qui fonctionne en Version 3.11 qui est un simple affichage des volumes)
J'ai 300 Gigas pour le fameux cours. C'est normal car ce sont des centaines de grosses vidéos.
C'est pour cette raison que j'utilise que des alias.
Le problème du Plugin (tout comme l'affichage dans les dépôts) c'est qu'il ne fait pas la différence entre un alias et un lien classique.

Ensuite, j'ai lancé de nombreuses sauvegardes en excluant des parties du cours pour essayer de comprendre d’où venait les 880 mégas de sauvegarde.

C'est la partie "Inclure les fichiers" dans les réglages de la sauvegarde qui semble générer les 800 mégas.
D'après ce que je comprends parmi tous les liens vidéos de ce cours (plus de 300 liens) qui devraient être en alias, un ou deux doivent être en lien "standard" et non en alias.

Je pense que le problème est ici.

Avant d'aller chercher d'autres pistes dans un premier temps, je pense qu'il faut que je m'assure que toutes les vidéos du cours soient disponibles via un alias.

Le nommage des vidéos dans le cours étant standardisé cela devrait assez rapide de voir le problème.
Le problème que j'ai c'est que je ne trouve pas de rapport, d'état qui m'indique que tel fichier est disponible via un lien classique ou via un alias .

Je vais encore abuser de votre gentillesse (sourire)
Sauriez-vous m'indiquer la ou les tables dans lesquelles je pourrai voir les fichiers "stockés" dans Moodle.
Ou alors la ou les tables qui contiendraient les liens des alias ?
Ou peut être un répertoire spécifique ...

En me basant sur cette information, je pourrai faire l'inventaire des modifications à faire.

Merci par avance.
Cdt
Alain
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Tous les fichiers utilisés sont référencés dans la table mdl_files.
Si les fichiers sont insérés sous forme d'alias, on les retrouve aussi dans la table mdl_files_reference.
Ce qui diffère entre un fichier directement inséré dans Moodle et un fichier inséré sous forme d'alias, c'est que dans la table mdl_files, la dernière colonne referencefileid contient l'ID de l'enregistrement de la table mdl_files_reference si le fichier est inséré sous forme d'alias (sinon le champ est NULL).
Il faut rechercher dans la table mdl_files, tous les éléments qui n'ont pas de valeur dans la colonne referencefileid et pour lesquels la colonne component a pour valeur mod_resource.
On peut ensuite affiner grâce aux colonnes userid, author ou source.
Moyenne des évaluations Utile (1)
En réponse à Jean-Gabriel DEPINOY

Re: Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
GRAND MERCI Jean-Gabriel,
Je regarde tout cela, je fais le ménage, je teste et je reviens vers le forum.
Cdt
Alain
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
Bonjour à tous,

Le loup a été trouvé (sourire).

Effectivement c'était une seule vidéo parmi les centaines qui avait un lien "classique" et non un lien alias. La sauvegarde est passé de 850 Mo à 35 Mo.

J'ai lancé des sauvegardes en ligne de commande, et cela fonctionne parfaitement.

En sauvegarde manuelle, le processus ne va pas au bout. Comme Bruno l'indiquait cela doit dépendre du timeout trop peu élevé du serveur Ovh.

Proposition d'amélioration : Cela sera peut être bien que Moodle dispose d'un rapport de indiquant la taille totale d'un ou des cours, la taille totale des fichiers Alias et liens classiques.
Cela permettrait de voir rapidement si le dimensionnement du cours est cohérent.

Suite à cette expérience, je suis parti pour un nettoyage sur les autres cours (sourire).

Encore merci à tous de votre aide. Sans vous, je n'aurai toujours pas de sauvegardes (sourire)
Ce forum est extraordinaire.
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,

Je me doutais de cela. J'ai déjà eu le même problème.
Le plugin "fichiers du cours" que j'ai cité plus haut nous aide beaucoup. Malheureusement il ne fait pas la distinction entre les fichiers intégrés et liés.

Et à propos de liens ou d'alias, dans le cadre d'une RELOCALISATION de toutes ses sources, pensez à vous LIBERER des Gafams en plaçant tout sur vos propres serveurs.
Et rien à l'étranger...
Ou carrément dans Moodle dans un dépôt "système de fichiers" par exemple ? 🙂
Enfin... c'est mon avis...

Daniel 🇺🇦
En réponse à Daniel Méthot

Re: Problème de sauvegarde d'un cours

par Alain CHEDEVILLE,
Bonjour Daniel,
Merci.
Excellent conseil que je partage à 100%
Belle journée
Alain
En réponse à Alain CHEDEVILLE

Re: Problème de sauvegarde d'un cours

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour,

A propos du bloc plugin tiers "fichiers du cours" une mise à jour à encore eu lieu ce jour.
Donc je suppose qu'on peut continuer à l'utiliser sans risques (Je suis en 3.11).

Fichiers du cours

En réponse à Daniel Méthot

Re: Problème de sauvegarde d'un cours

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles
Bonjour,

Le plugin "List course files" (/local/listcoursefiles) est aussi compatible 4.0:
https://moodle.org/plugins/local_listcoursefiles/1.3.1/26788
Mais le plugin "Course files" (/blocks/coursefiles) est déclaré compatible 3.2 et n'a pas été mis à jour depuis 5 ans:
https://moodle.org/plugins/block_coursefiles/versions

Christian
Moyenne des évaluations Utile (1)
En réponse à Christian Bocquet

Re: Problème de sauvegarde d'un cours

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Merci Christian,
J'ai fait la mise à jour sans remarquer qu'il ne s'agissait pas du bloc.
Qui est pourtant mon préféré...🤔
Daniel 🇺🇦