Récupération de la table mdl_log

Récupération de la table mdl_log

par Djamila DOUCENE,
Nombre de réponses : 6

Bonjour à tous;

Est-il possible de récupérer le contenu de la table mdl_log à partir des autres tables de la base de données "moodle"?

Merci d'avance.

Moyenne des évaluations  -
En réponse à Djamila DOUCENE

Re: Récupération de la table mdl_log

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Je ne comprends pas le sens de ta question. Merci de détailler très clairement ce que tu voudrais faire, et pourquoi...

Pense aussi à préciser les versions utilisées (Moodle, MySQL...) clin d’œil

Séverin

En réponse à Séverin Terrier

Re: Récupération de la table mdl_log

par Djamila DOUCENE,
Merci Séverin;

Voici notre problème :

On surveille le nombre d'enregistrements quotidiennement , si ce nombre dépasse 1000000 d'enregistrements, alors on prends les 1million premiers on les met dans une autre table d'une autre base de données qu'on a appelé "moodle_purge", on les nomme mdl_log1,mdl_log2,....etc .

Par erreur, l'un de nos collègues a supprimé la table mdl_log3.

ESt-il possible de la récupérer?

 Voici les versions de moodle  et mysql:

phpMyAdmin 2.6.3-pl1

MySQL 5.5.40-0

En réponse à Djamila DOUCENE

Re: Récupération de la table mdl_log

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

En voila une très bonne question (je ne suis pas spécialiste MySQL ou système).

Si je comprends bien, vous faites une vérification chaque jour, et dès que la table mdl_log comporte plus d'un million de lignes, vous copiez ces lignes dans une nouvelle table, et les effacez de mdl_log ?

Dans ce cas, les lignes ayant disparu de mdl_log, je vois mal comment vous pourriez y accéder !

N'avez-vous pas une sauvegarde de votre autre base (moodle_purge) ? Sinon, il faut essayer de voir ce qui existe en terme de récupération de fichier... mais ça risque fort de ne pas être évident (surtout si vous êtes sur Linux, ou que beaucoup de manipulations ont été effectuées sur le disque).

Séverin


En réponse à Séverin Terrier

Re: Récupération de la table mdl_log

par Djamila DOUCENE,

Oui, je comprends ce que vous dites, mais j'avais un petit espoir d'utiliser les  champs de la table mdl_user :id,firstaccess et lastaccess ,pour récupérer ce qui a été perdu!

Merci quand même pour la clarification,
En réponse à Djamila DOUCENE

Re: Récupération de la table mdl_log

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Il y a peut-etre une autre solution, qui est de partir des logs MySQL

Selon le niveau de logs, et la durée de conservation, vous pouvez retrouver les insertions de la table mdl_log dans les logs MySQL

Reste à évaluer le rapport entre le temps et le travail nécessaire pour récupérer ces logs et la nécessité d'avoir accès à ces logs.


Si c'est absolument primordial pour des questions de rapports d'utilisation, etc ... pourquoi pas, si c'est juste pour les avoir 'au cas ou' vous en auriez besoin ... là c'est à vous d'en évaluer la nécessité

En réponse à Djamila DOUCENE

Re: Récupération de la table mdl_log

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,


Si je comprends bien, vous voulez utiliser les données des tables Moodle pour reconstruire les données perdues de la table mdl_log.

Le problème est que la table mdl_log n'est pas approvisionné par les données des autres tables, mais en direct, au moment ou les actions sont effectuées sur le site

Donc, de base, il n'y pas de code spécifique pour faire ce vous voulez.


Après, vous pouvez par des requêtes retrouver certains éléments, mais cela va être très complexe.

Exemple : Retrouver un dépôt de document à une date donnée ou entre 2 dates, c'est possible.

Retrouver qui s'est connecté entre 2 dates, moins évident puisque la table mdl_user ne contient que la dernière connexion de chaque utilisateur. Il faudra pour ce cas, croiser avec les logs de apache et/ou le système d'authentification, etc ... mais ce sera à vous de construire les données de la table mdl_log


A mon avis, si vous n'avez pas de sauvegarde de la base (moodle ou celle qui vous sert à stocker les données de mdl_log), c'est perdu ou cela va vous prendre un temps énorme pour reconstruire les logs