Zum Inhalt springen

eLeDia Admin-Skripte

Komponente tool_eledia_scripts · Version 2026021600

Die Admin-Skripte richten sich an Personen, die eine Moodle-Instanz auf Serverebene betreiben. Sie brauchen Zugang zur Kommandozeile des Servers und die Rechte des Webserver-Benutzers, in der Regel www-data. In der Moodle-Oberfläche erscheint das Plugin nur in der Plugin-Übersicht.

Typische Anlässe sind:

  • Speicherplatz wird knapp und alte Sicherungen sollen weg.
  • Zertifikate eines Zeitraums werden für ein Archiv oder eine Prüfung gebraucht.
  • Eine Instanz wird umgezogen oder nach einem Test zurückgesetzt.

Das Plugin wird wie jedes Admin-Werkzeug unter admin/tool/eledia_scripts installiert. Einstellungen gibt es nicht. Alle Skripte liegen im Unterordner cli und werden so aufgerufen:

sudo -u www-data php admin/tool/eledia_scripts/cli/<skript>.php --help

Die Option --help zeigt bei jedem Skript die verfügbaren Parameter und ein Beispiel. Führen Sie Skripte, die etwas löschen, zuerst mit --list, --dryrun oder --verbose aus, sofern das Skript diese Option anbietet.

Sicherungen

  • eledia_delete_automated_backups.php listet oder löscht automatische Sicherungen. Mit --from_timestamp und --to_timestamp grenzen Sie den Zeitraum ein, --list zeigt nur an.
  • eledia_delete_manual_backups.php löscht manuelle Sicherungen.

Zertifikate

  • export_certificate_files.php, export_customcert_files.php und export_coursecertificate_files.php exportieren ausgestellte Zertifikate nach moodledata/export_certificates. Mit --timefrom und --timeto wählen Sie den Zeitraum als Unix-Zeitstempel.
  • regenerate_toolcertificate_files.php erzeugt PDFs von tool_certificate neu. Vor jeder Neuerzeugung wird eine Kopie der alten Datei gesichert. Den Zeitraum geben Sie mit --datestart und --dateend als Datum an.

Datenbank und Umzug

  • eledia_gendbrepairsql.php vergleicht die Datenbank mit dem Moodle-Schema und erzeugt SQL für fehlende Indizes und abweichende Standardwerte. Mit --execute wird es ausgeführt.
  • eledia_db_migrate_structure.php legt die Tabellenstruktur in einer Zieldatenbank an. Das Skript ist für erfahrene Personen gedacht.
  • eledia_restore_redisconf.php prüft die Redis-Cache-Konfiguration und stellt sie bei Bedarf wieder her.

Bereinigung

  • delete_unused_questions.php entfernt alte Quiz- und Fragenversuche sowie ungenutzte Fragen, mit --dryrun als Probelauf.
  • eledia_delete_workplacetenant.php löscht in Moodle Workplace einen Mandanten mit Berichten, Regeln, Organisationen, Nutzenden, Kursen, Programmen und Zertifizierungen.
  • delete_tenant_jobs.php entfernt alle Aufgaben eines Mandanten.

Diagnose und Ereignisse

  • eledia_get_missing_from_disk_plugins.php listet Plugins, die in der Datenbank stehen, deren Dateien aber fehlen.
  • eledia_benchmark.php führt Lasttests für CPU, Dateizugriff und Kurslesen aus.
  • eledia_server_event.php --action=<schlüsselwort> löst ein Ereignis aus, auf das andere Plugins reagieren können. Die älteren Skripte eledia_system_install_done.php, eledia_system_reset_done.php und eledia_system_request_setup.php sind veraltet und sollten durch dieses Skript ersetzt werden.
  • configure_lti_settings.php richtet ein LTI-Werkzeug ein.

Drei Gewohnheiten haben sich bewährt:

  1. Führen Sie Lösch-Skripte zuerst auf einer Kopie der Plattform aus, etwa auf einem Testsystem mit aktuellem Datenstand. So sehen Sie, wie lange ein Lauf dauert und was er entfernt.
  2. Halten Sie jeden Lauf mit Datum, Skript und Parametern fest. Bei Rückfragen lässt sich dann nachvollziehen, warum Daten fehlen.
  3. Planen Sie lange Läufe außerhalb der Hauptnutzungszeit. Exporte und Neuerzeugung von Zertifikaten belasten Datenbank und Dateisystem.

Das Plugin speichert selbst keine personenbezogenen Daten. Einige Skripte verarbeiten aber solche Daten: Die Zertifikatsexporte legen PDFs mit Namen und Leistungen in moodledata ab. Sorgen Sie dafür, dass dieser Ordner geschützt ist, und löschen Sie Exporte, sobald sie übergeben sind. Die Lösch-Skripte entfernen Daten dauerhaft; dokumentieren Sie solche Läufe im Betriebsprotokoll.

  • Es gibt keine Oberfläche in Moodle. Ohne Shell-Zugang ist das Plugin nicht nutzbar.
  • Nicht jedes Lösch-Skript hat einen Probelauf. Lesen Sie vor dem Aufruf die Hilfe.
  • Das Plugin ersetzt keine Sicherung des Servers und keine Überwachung.
  • Die Workplace-Skripte wirken nur in Moodle Workplace.

Ein Skript meldet fehlende Rechte. Rufen Sie es als Webserver-Benutzer auf, etwa mit sudo -u www-data. Als root angelegte Dateien in moodledata führen später zu Fehlern.

Ein Export ist leer. Prüfen Sie den Zeitraum. Die Export-Skripte erwarten Unix-Zeitstempel, das Neuerzeugen von Zertifikaten erwartet ein Datum.

Was passiert nach eledia_server_event? Nur Plugins, die das Ereignis abonniert haben, reagieren. Ohne solche Plugins hat der Aufruf keine Wirkung außer einem Eintrag im Protokoll.