Administration über Kommandozeile

Aus MoodleDocs
Wechseln zu:Navigation, Suche

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:

  1. 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.
  2. Wechseln Sie zum komprimierten Zeilenformat (siehe Tabellen auf komprimiertes Zeilenformat umstellen)
  3. Ä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:

innodb_file_format=Barracuda;innodb_file_per_table=ON;innodb_large_prefix=ON oder innodb_file_format=(blank);innodb_file_per_table=ON;innodb_large_prefix=(blank) oder innodb_file_per_table=ON

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.

Siehe auch

  • MDL-35736 - Plugins verwalten über Kommandozeile
  • MDL-36237 - Kursliste sortieren über Kommandozeile
  • MOOSH - MOOdle SHell. Das ist ein Kommandozeilen-Tool, das alle gängigen Moodle-Aufgaben ausführen kann.