Administration über Kommandozeile
CLI-Skripte verwenden
Wenn Sie Shell-Zugriff auf Ihren Webserver haben, dann können Sie verschiedene CLI (command line interface) Skripte für die Administration von Moodle nutzen. Alle CLI-Skripte für die Administration von Moodle liegen im Verzeichnis moodle/admin/cli. Plugins stellen ihre CLI-Skripte in einem eigenen Unterverzeichnis zur Verfügung, z.B. das Synchronisierungsskript für die Einschreibung über externe Datenbank liegt im Unterverzeichnis moodle/enrol/db/cli.
Um Probleme mit der Zugriffskontrolle zu vermeiden, sollten Sie diese Skripte als Webserver-Nutzer ausführen bzw. als der Nutzer, dem der Webserver-Prozess gehört. Das ist besonders wichtig bei der Ausführung der Installations- und Aktualisierungsskripte, da diese Skripte neue Dateien im Moodle-Datenverzeichnis anlegen und der Webserver Schreibzugriff auf diese Dateien benötigt. In Linux-Distributionen heißt der Webserver-Nutzer apache, wwwrun, www-data oder httpd o.ä. Als root können Sie die Skripte wie folgt aufrufen:
$ cd /Pfad/zum/Moodle-Verzeichnis $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params
Die meisten Skripte akzeptieren den üblichen Hilfe-Parameter --help (oder -h), um detaillierte Informationen anzuzeigen, z.B.:
$ sudo -u apache /usr/bin/php admin/cli/install.php --help
Aktualisierung
Die Aktualisierung von Moodle kann über Kommandozeile ausgeführt werden. Wie beim Installationsskript (siehe unten) gibt es einen interaktiven und einen nicht-interaktiven Modus. Das Skript schaltet die Moodle-Site nicht in den Wartungsmodus, das müssen Sie (vorher) selbst tun. Das Skript sichert auch keinerlei Daten (wenn Sie diesen Artikel lesen, gehen wir davon aus, dass Sie ohnehin eigene Skripte zur Sicherung der Moodle-Datenbank und des Moodle-Datenverzeichnisses haben!).
$ sudo -u apache /usr/bin/php admin/cli/upgrade.php --non-interactive
Die Aktualisierung über Kommandozeile ist ein sehr komfortabler Weg, wenn Sie den aktuellen Moodle-Code über Git beziehen. Im folgenden finden Sie die Befehlsfolge, um innerhalb von Sekunden auf die aktuellste Moodle-Version zu aktualisieren und gleichzeitig Ihre lokalen Codeanpassungen zu bewahren:
$ cd /var/www/sites/moodle/htdocs/ $ git fetch $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable $ git merge origin/cvshead $ sudo -u apache /usr/bin/php admin/cli/upgrade.php $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable
Zusätzlicher PHP-Speicher
Je nach Konfiguration Ihrer Umgebung müssen Sie für ein CLI-Upgrade PHP möglicherweise explizit mit mehr Speicher ausführen. Dies ist nur erforderlich, wenn PHP aufgrund von Speicherengpässen abstürzt.
Beispiel:
$ sudo -u apache /usr/bin/php --memory_limit=16G admin/cli/upgrade.php
Die benötigte Speichermenge variiert je nach Moodle-Version und Ihrer spezifischen Umgebung.
Installation
Moodle kann von Kommandozeile aus installiert werden. Es gibt zwei Installationsmodi: Im interaktiven Modus fragt das Skript alle Daten ab, die benötigt werden, um die Moodle-Site korrekt aufzusetzen. Im nicht-interaktiven Modus müssen Sie alle Daten als Parameter beim Skriptaufruf angeben, dann wird die Moodle-Site ohne weitere Abfragen installiert. Die Parameter können auch beim Aufruf des Skripts im interaktiven Modus angegeben werden, dann werden diese Daten als Voreinstellungen bei der Abfrage verwendet.
$ sudo -u apache /usr/bin/php admin/cli/install.php --lang=cs
Bei Bedarf kann die Installation der Datenbank übersprungen werden:
$ sudo -u apache /usr/bin/php admin/cli/install.php --skip-database
Wartungsmodus
Um die Moodle-Site über Kommandozeile in den Wartungsmodus zu schalten, können Sie das folgende CLI-Skript verwenden:
$ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable
Um den Wartungsmodus wieder auszuschalten, verwenden Sie denselben Aufruf, aber mit dem Parameter --disable.
Offline-Modus
In manchen Situationen möchten Sie Ihre Moodle-Site vielleicht in den Offline-Modus schalten, so dass sie nicht über das Internet erreichbar ist, können jedoch nicht den Webserver komplett abschalten (weil andere Webseiten oder Webapplikationen ebenfalls über den Webserver laufen). Wenn es im Hauptverzeichnis des Moodle-Datenverzeichnisses eine Datei climaintenance.html gibt, dann zeigt Moodle automatisch den Inhalt dieser Seite anstelle jeder anderen Moodle-Seite an.
$ cd /var/www/sites/moodle/moodledata/ $ echo '<h1>Entschuldigung, es laufen Wartungsarbeiten</h1>' > climaintenance.html
Sie können auch eine geeignete HTML-Seite erstellen, die Ihre Nutzer/innen darüber informiert, dass der Moodle-Server nicht erreichbar ist. Sie können diese Datei z.B. climaintenance.off nennen und im Hauptverzeichnis des Moodle-Datenverzeichnisses speichern. Bei Bedarf können Sie diese Datei dann einfach umbenennen in climaintenance.html.
Angepasste Site-Einstellungen
Während der Installation bzw. Aktualisierung über Kommandozeile setzt Moodle alle administrativen Einstellungen auf die Standardwerte. Siehe MDL-17850 für Details. Kurz gesagt: Sie müssen nur eine Datei local/defaults.php zu Ihrer Moodle-Installation hinzufügen, um eigene Konfigurationseinstellungen automatisch während des Installations- bzw. Aktualisierungsprozesses zu setzen. Das Format der Datei ist wie folgt:
<?php
$defaults['pluginname']['settingname'] = 'settingvalue'; // für Plugins
$defaults['moodle']['settingname'] = 'settingvalue'; // für Einstellungen im Kernsystem
Dieses Werte werden bei der Installation, der Aktualisierung und als Voreinstellungen auf den Moodle-Administrationsseiten verwendet.
Nutzer-Kennwort neu setzen
Wenn Sie aus Versehn Ihr Admin-Kennwort vergessen haben (oder das Kennwort für eine beliebige Person neu setzen wollen), dann können Sie das Skript reset_password.php verwenden. Das Skript setzt dann das korrekt verschlüsselte Kennwort für die Person.
$ sudo -u apache /usr/bin/php admin/cli/reset_password.php
Manuelles Anmeldeformular anzeigen
Wenn Sie das manuelle Anmeldeformular ausgeblendet haben und feststellen, dass Sie sich nicht mehr anmelden können, können Sie es über die Befehlszeile wieder einblenden:
$ php admin/cli/cfg.php --name=showloginform --set=1
InnoDB-Datenbanktabellen in Barracuda konvertieren
Neuere Versionen von MySQL und MariaDB verfügen über ein verbessertes Dateiformat namens Barracuda. So nutzen Sie die Vorteile dieses Formats:
- Stellen Sie sicher, dass Ihre Version von MySQL/MariaDB Barracuda mit dem großen Indexschlüsselpräfix (innodb_large_prefix) verwendet. Details finden Sie weiter unten.
- Wechseln Sie zum komprimierten Zeilenformat (siehe Tabellen auf komprimiertes Zeilenformat umstellen)
- Ändern Sie den Zeichensatz und die Sortierreihenfolge für vollständige Unicode-Unterstützung (siehe Zeichensatz und Sortierreihenfolge konvertieren)
Wenn Sie MySQL 8.0.0 oder höher bzw. MariaDB 10.3.0 oder höher verwenden, unterstützen diese Versionen Barracuda nur mit dem langen Indexschlüsselpräfix. Um bei früheren Versionen zu überprüfen, ob MySQL/MariaDB Barracuda verwendet, führen Sie die folgende Anweisung im MySQL/MariaDB-Client oder unter dem Tab SQL in phpMyAdmin aus:
SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format', 'innodb_large_prefix', 'innodb_file_per_table');
Falls Ihre Einstellungen mit keiner der folgenden Tabellen übereinstimmen, finden Sie unter MySQL Unicode Unterstützung Informationen dazu, wie Sie diese Einstellungen ändern können:
Wenn Ihre Einstellungen mit einer dieser Tabellen übereinstimmen, verwendet MySQL/MariaDB Barracuda mit dem langen Indexschlüsselpräfix.
Tabellen auf komprimiertes Zeilenformat umstellen
Moodle stellte ein Konvertierungswerkzeug zur Verfügung. Dieses Skript passt Tabellen mit vielen Textspalten so an, dass sie ROW_FORMAT=COMPRESSED verwenden. Diese Änderung ist nicht zwingend erforderlich, wird jedoch empfohlen. Sollte bei der Nutzung von Moodle der Datenbankfehler Row size too large (> 8126) auftreten, führen Sie dieses Skript aus, um das Problem zu beheben.
Hinweis: Wenn Sie MariaDB Version 10.6.0 bis 10.6.6 oder Version 10.7.0 bis 10.7.2 verwenden, müssen Sie vor der Ausführung dieses Skripts auf eine neuere Version aktualisieren. Weitere Informationen finden Sie unter MDL-72131.
Um Tabelle anzuzeigen, die konvertiert werden müssen, verwenden Sie das Kommando:
$ php admin/cli/mysql_compressed_rows.php --list
Im folgenden sehen Sie eine Beispiel-Ausgabe:
mdl_data Compact (needs fixing) mdl_data_fields Compact (needs fixing) mdl_enrol_paypal Compact (needs fixing)
Um die Konvertierung zu starten, geben Sie folgenden Befehl ein:
$ php admin/cli/mysql_compressed_rows.php --fix
Wenn die Konvertierung erfolgreich war, erscheint folgende Ausgabe:
mdl_data ... Compressed mdl_data_fields ... Compressed mdl_enrol_paypal ... Compressed
Sollten Sie Fehlermeldungen erhalten, weil Sie nicht über die erforderlichen Berechtigungen zum Ausführen dieser Befehle verfügen, verwenden Sie --showsql, um die erforderlichen SQL-Befehle zu generieren:
$ php admin/cli/mysql_compressed_rows.php --showsql
Anschließend können Sie den generierten SQL-Code in Ihren MySQL-/MariaDB-Client kopieren, der als root ausgeführt wird.
Zeichensatz und Sortierreihenfolge konvertieren
Dieses Skript passt die Moodle-Datenbanktabellen an, um eine vollständige Unicode-Unterstützung zu ermöglichen.
$ php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci
Nachdem Sie diese Änderung vorgenommen haben, bearbeiten Sie die Moodle-Konfigurationsdatei config.php und ändern Sie den Wert dbcollation im Array $CFG->dboptions in utf8mb4_unicode_ci.
Weitere Informationen finden Sie unter MySQL Unicode Unterstützung
Cron von Kommandozeile ausführen
In Moodle 1.x konnten Sie das Cron-Skript admin/cron.php entweder über das Moodle-Web-Interface oder über Kommandozeile ausführen. Ab Moodle 2.0 kann über Kommandozeile nur das Skript admin/cli/cron.php ausgeführt werden.
Geplante Tasks
Tasks werden automatisch durch den Cron-Job ausgeführt. welche Tasks genau bei einem Aufruf des Cron-Skripts ausgeführt werden wird durch die Konfiguration der Tasks festgelegt.
Sie können einen einzelnen Task außer der Reihe ausführen, in dem Sie das CLI-Skript admin/tool/task/cli/schedule_task.php verwenden. Das Skript akzeptiert folgende Parameter:
--list zählt alle bekannten geplanten Tasks auf. Die Tasks werden nach dem Klassennamen aufgelistet,
der zum Ausführen des Tasks verwendet wird. Dieser Klassenname muss als Argument für die nächste
Option angegeben werden, um einen bestimmten Task sofort auszuführen.
--execute=<task> führt einen einzelnen geplanten Task sofort aus – unabhängig von den Einstellungen für die Zeitplanung.
Dabei werden sogar deaktivierte Tasks ausgeführt. Die Tasks nutzen weiterhin Sperren, um die gleichzeitige
Ausführung desselben Tasks zu verhindern – auch in Clustern. Das Format des Arguments <task> muss mit dem
übereinstimmen, das von der oben genannten Option --list zurückgegeben wird.
--disable=<task> deaktiviert einen einzelnen geplanten Task. Das Format des Arguments <task> muss mit dem übereinstimmen,
das von der oben genannten Option --list zurückgegeben wird.
--enable=<task> aktiviert einen einzelnen geplanten Task. Das Format des Arguments <task> muss mit dem übereinstimmen,
das von der oben genannten Option --list zurückgegeben wird.
--showsql zeigt SQL-Abfragen an, bevor sie ausgeführt werden
--showdebugging zeigt Debugging Informationen für Entwickler/innen an
Hinweis: "\" Zeichen müssen mit einem vorangestellten \ gekennzeichnet werden.
Beispiel: Der Befehl
php schedule_task.php --list
liefert folgende Ausgabe:
== List of scheduled tasks (http://yourserver.com/moodle) == \enrol_imsenterprise\task\cron_task 10 * * * * * ASAP \logstore_legacy\task\cleanup_task * 5 * * * * ASAP \logstore_standard\task\cleanup_task * 4 * * * * Wednesday, November 12, 2014, 4:35 AM \mod_forum\task\cron_task * * * * * * ASAP \core\task\automated_backup_task 50 * * * * * ASAP ...
Um den ersten Task aus dieser Auflistung auszuführen, verwenden Sie folgenden Befehl:
php schedule_task.php --execute=\\enrol_imsenterprise\\task\\cron_task
Ad-hoc-Tasks
Ad-hoc-Tasks sind Tasks mit geringer Latenz, die normalerweise vom Cron-Job ausgeführt werden. Mit admin/cli/adhoc_task.php können Sie ausschließlich die in der Warteschlange befindlichen Ad-hoc-Tasksausführen.
Dieses Skript akzeptiert die folgenden Optionen und Argumente:
-h, --help Hilfe ausgeben
--showsql SQL-Abfragen vor ihrer Ausführung anzeigen
--showdebugging Debugging-Informationen für Entwickler/innen anzeigen
-e, --execute alle in der Warteschlange befindlichen Ad-hoc-Tasks ausführen
-k, --keep-alive=N dieses Skript N Sekunden lang aktiv halten und nach neuen Ad-hoc-Tasks abfragen
-i --ignorelimits die Parameter ''task_adhoc_concurrency_limit'' und ''task_adhoc_max_runtime'' ignorieren
-f, --force auch dann ausführen, wenn cron deaktiviert ist
Beispiel für die Ausführung der derzeit in der Warteschlange befindlichen Ad-hoc-Tasks:
sudo -u apache php admin/cli/adhoc_task.php -e
Siehe auch die Verbesserungen bei Ad-hoc-Tasks.
Datenbank-Transfer
Für den Datenbank-Transfer kann das CLI-Skript admin/tool/dbtransfer/cli/migrate.php verwendet werden.
Cache löschen
Zum Löschen des Caches können Sie folgendes CLI-Skript verwenden:
php admin/cli/purge_caches.php
Alle Sitzungen löschen
Wenn es für administrative Zwecke erforderlich ist, können Sie alle Nutzer-Sitzungen über Kommandozeile löschen:
php admin/cli/kill_all_sessions.php
Dabei werden alle angemeldeten Nutzer/innen aus Moodle abgemeldet.
Kurse und Kursinhalte sichern, wiederherstellen oder importieren
Siehe Kurssicherung über Kommandozeile und Kurswiederherstellung über Kommandozeile. Kurse oder Kursinhalte können über die Kommandozeile mit import.php kopiert werden, siehe Import über Kommandozeile.
Kurse löschen
Kurse können über die Kommandozeile gelöscht werden, wenn Sie die Kurs-ID kennen:
sudo -u www-data /usr/bin/php admin/cli/delete_course.php --courseid=123456
Neue Funktionalität
in Moodle 5.2!
Ab Moodle 5.2 können Kurse auch über den kurzen Kursnamen oder die ID-Nummer gelöscht werden:
sudo -u www-data /usr/bin/php admin/cli/delete_course.php --shortname=mycourseshortname sudo -u www-data /usr/bin/php admin/cli/delete_course.php --idnumber=COURSE001
Reihenfolge der Kursmodule reparieren
In ganz seltenen Fällen (z.B. bei der Aktualisierung einer sehr alten Moodle-Version) kann es passieren, dass die Reihenfolge von Kursabschnitten und Kursmodulen durcheinander gerät. Das kann in betroffenen Kursen dazu führen, dass Fehler z.B. bei der Anzeige von Kursinhalten oder bei der Kurssicherung auftreten. Um solche Fehler zu erkenn und beheben, können Sie folgendes Skript ausführen:
php admin/cli/fix_course_sequence.php -c=* --fix
Das Skript prüft alle Kurse, listet die Fehler und die erfolgreiche Beseitigung der Fehler auf.
Verwaiste Fragenkategorien löschen
Beim Anlegen eines Tests in Moodle wird automatische eine zugehörige Fragenkategorie angelegt. Wenn der Test gelöscht wird, dann blieben vor Moodle 2.9.1 diese Fragenkategorie und alle daran enthaltenen Testfragen in der Moodle-Datenbank gespeichert. Dieses verwaisten Fragekategorien können nun mit folgendem CLI-Skript gelöscht werden:
php admin/cli/fix_orphaned_question_categories.php --fix
Suchen und ersetzen
Mit diesem Skript können Sie in der gesamten Moodle-Datenbank Texte suchen und ersetzen. Verwenden Sie dieses Skript mit Vorsicht und sichern Sie in jedem Fall vorher die Moodle-Datenbank!
php admin/tool/replace/cli/replace.php --search=//oldsitehost --replace=//newsitehost
Design CSS Cache erstellen
Wenn Moodle nicht im Design-Entwickler-Modus läuft, dann wird eine Kopie des kompilierten CSS lokal gespeichert und an den Brwoser weitergegeben, wenn eine neue Seite aufgerufen wird. Wenn es keine lokale Kopie gibt, dann wird eine Kopie erstellt, wenn eine Seite erstmals in Moodle aufgerufen wird.
Mit diesem Skript können Sie die im Cache gespeicherten CSS-Dateien für Design in Moodle vorkompilieren, so dass Nutzer/innen nicht warten müssen, dass das Design erst kompiliert, wenn eine Seite erstmals aufgerufen wird.
php admin/cli/build_theme_css.php -- themes boost
Konfigurationswerte abrufen und festlegen
Lassen Sie den aktuellen Wert der angegebenen Einstellung anzeigen oder die angegebene Einstellung auf den angegebenen Wert setzen.
$ php admin/cli/cfg.php [--component=<componentname>] [--json] [--shell-arg] $ php admin/cli/cfg.php --name=<configname> [--component=<componentname>] [--shell-arg] [--no-eol] $ php admin/cli/cfg.php --name=<configname> [--component=<componentname>] --set=<value> $ php admin/cli/cfg.php --name=<configname> [--component=<componentname>] --unset $ php admin/cli/cfg.php [--help|-h]
Beispiele:
$ php admin/cli/cfg.php --name=langmenu
zeigt den Wert von langmenu auf der Seite Website-Administration > Allgemein > Sprache > Einstellungen (0 für Nein oder 1 für Ja).
$ php cfg.php --name=maxsizetodownload --component=folder
zeigt den wert von maxsizetodownload auf der Seite Website-Administration > Plugins > Aktivitäten > Verzeichnis.
$ php admin/cli/cfg.php --name=langmenu --set=0
deaktiviert langmenu.
E-Mail-Flag für Nutzerkonten
Das Ändern des E-Mail-Flags eines Nutzerkontos verhindert bzw. ermöglicht es der Person, E-Mails von Moodle zu erhalten. Mit dem CLI-Skript emailstop.php kann das E-Mail-Flag für ein oder mehrere Nutzerkonten gleichzeitig geändert werden. Außerdem kann der aktuelle Status angezeigt werden, ob das E-Mail-Flag deaktiviert oder aktiviert ist. Ein möglicher Anwendungsfall für dieses Skript ist die Automatisierung des Prozesses, bei dem die Protokolldatei des Mail-Transfer-Agenten (z.B. Postfix) durchsucht und dort gemeldete E-Mail-Adressen extrahiert werden. Wenn eine E-Mail ungültig ist oder bei der Zustellung abgelehnt wird, kann diese Adresse als Argument für das Cli-Skript verwendet werden, um das E-Mail-Flag so zu ändern, dass die Person keine weiteren E-Mails mehr erhält.
Dieses Skript akzeptiert die folgenden Optionen und Argumente:
-h, --help druckt die Hilfe aus und führt alle möglichen Argumente auf, die festgelegt werden können.
-e, --email=email Geben Sie eine Person per E-Mail an; trennen Sie mehrere Nutzer/innen durch Kommas.
-i, --id=id Geben Sie eine Person per Nutzer-ID an; trennen Sie mehrere Nutzer/innen durch Kommas.
-q, --quiet Geben Sie nichts über stdout aus. Der Erfolg der Skriptausführung lässt sich weiterhin
anhand des Exit-Codes überprüfen.
-s, --stop=0|1|off|on Einen neuen Wert für das E-Mail-Flag festlegen
-u, --username=username Geben Sie eine Person per Anmeldename an; trennen Sie mehrere Nutzer/innen durch Kommas.
Es darf nur eine der Optionen -e, -i oder -u verwendet werden. Aus praktischen Gründen können mehrere Nutezr/innen gleichzeitig angegeben werden; diese müssen dabei durch Kommas getrennt werden, z.B.
php admin/cli/emailstop.php -u=student1,student2,student3
Der Parameter -q verhindert jegliche Ausgabe auf stdout. Die Verwendung von -q ohne das Argument -s ist in diesem Fall daher wenig sinnvoll.
Beispiele:
$ php admin/cli/emailstop.php --email=student1@example.org --stop=1 -q
Deaktiviert den E-Mail-Empfang für die Person mit der E-Mail-Adresse student1@example.org. Es wird keine Ausgabe generiert.
$ php admin/cli/emailstop.php --email=student1@example.org
Zeigt den Status des E-Mail-Flags für die Person mit der E-Mail-Adresse student1@example.org an.
Dashboard zurücksetzen
Wenn Sie Änderungen am Dashboard vornehmen und möchten, dass die Dashboards aller Nutzer/innen entsprechend zurückgesetzt werden, können Sie dies über die Kommandozeile tun:
php admin/cli/dashboard_reset.php -e
Plugins verwalten
Moodle Plugins anzeigen und deinstallieren
Moodle enthält ein praktisches Kommandozeilen-Tool, mit dem man eine Liste der Plugins anzeigen und Plugins deinstallieren kann.
$ php admin/cli/uninstall_plugins.php
Dieses Skript akzeptiert die folgenden Optionen und Argumente:
-h --help zeigt die Hilfe an
--show-all gibt eine Liste aller installierten Plugins aus
--show-contrib gibt eine Liste aller installierten Drittanbieter-Plugins aus
--show-missing gibt eine Liste aller Plugins aus, die auf dem Moodle-Server fehlen
--purge-missing deinstalliert alle fehlenden Plugins auf dem Moodle-Server
--plugins=<plugin name> kommaseparierte Liste der Plugins, die deinstalliert werden sollen, z.B. mod_assign,mod_forum
--run Deinstallation ausführen; wenn diese Option nicht gesetzt ist, wird das Skript im Testmodus ausgeführt.
--showsql SQL-Abfragen anzeigen, bevor sie ausgeführt werden.
--showdebugging zeigt Debug-Informationen für Entwickler/innen an.
Der Dry mode führt alle Schritte aus, die das Skript normalerweise ausführen würde, ohne jedoch tatsächlich Änderungen vorzunehmen. Dies ist nützlich, wenn Sie die Korrektheit Ihres Befehls testen möchten.
Das Skript muss im Moodle-WWW-Rootdirectory ausgeführt werden.
Beispiele:
# php admin/cli/uninstall_plugins.php --show-all
Gibt eine durch Tabulator-getrennte Liste aller installierten Plugins aus.
# php admin/cli/uninstall_plugins.php --show-contrib
Gibt eine durch Tabulator-getrennte Liste aller installierten Drittanbieter-Plugins aus.
# php admin/cli/uninstall_plugins.php --show-missing
Gibt eine durch Tabulator-getrennte Liste aller Plugins aus, die auf dem Moodle-Server fehlen.
# php admin/cli/uninstall_plugins.php --purge-missing
Testlauf zur Deinstallation aller fehlenden Plugins. Dabei werden die Plugins NICHT wirklich deinstalliert. Um sie tatsächlich zu deinstallieren, müssen Sie die Option --run hinzufügen.
# php admin/cli/uninstall_plugins.php --purge-missing --run
Alle fehlenden Plugins tatsächlich deinstallieren.
# php admin/cli/uninstall_plugins.php --plugins=mod_assign,mod_forum
Testlauf zur Deinstallation der Plugins mod_assign und mod_forum. Dabei werden die Plugins NICHT wirklich deinstalliert. Um sie tatsächlich zu deinstallieren, müssen Sie die Option --run hinzufügen.
# php admin/cli/uninstall_plugins.php --plugins=mod_assign,mod_forum --run
Plugins mod_assign und mod_forum tatsächlich deinstallieren.
Das Tool führt nicht alle Schritte aus, die zur vollständigen Deinstalltion nötig sind. Nach der Kommandoausführung müssen Sie noch:
- alle Dateien des Plugins auf dem Moodle-Server manuell löschen;
- die Moodle-Datenbank aktualisieren;
Wenn Sie einen oder beide Schritte überspringen, werden Sie beim nächsten Login als Administrator/in und beim Aufrufen der Seite Website-Administration > Allgemein > Systemnachrichten aufgefordert, die Moodle-Datenbank zu aktualisieren oder das Plugin neu zu installieren.


