Moodle 5.3 日本語ドキュメント(第一次翻訳):ほぼすべてのページが日本語に翻訳されました。まだ第一次翻訳のため、不自然な表現や誤訳が残っている可能性があります。お気づきの点があれば、ページコメントでお知らせいただくか、直接編集してください。スクリーンショットの多くは、まだ英語版の画面のままです。以前のバージョンの日本語ドキュメントは、バージョンメニューからご覧いただけます。
Moodle 5.3 Japanese documentation (first-pass translation): almost all pages have now been translated into Japanese. As this is a first pass, some wording may read unnaturally or be mistranslated. If you notice anything, please leave a page comment or edit the page directly. Most screenshots still show the English interface. Japanese documentation for earlier versions is available from the version menu.

コマンドラインによる管理

提供: MoodleDocs
移動先:案内、検索

CLIスクリプトの実行

ウェブサーバへのシェルアクセスがある場合は、Moodleの管理中にさまざまなCLI(コマンドラインインタフェース)スクリプトが役に立つことがあります。コアの管理用CLIツールはadmin/cli/*フォルダにあります。その他のプラグインも、独自のcliフォルダ内のスクリプトでCLI機能を提供している場合があります。

アクセス制御の問題を避けるため、これらのスクリプトはウェブサーバプロセスの所有者として実行してください。CLIによるインストールおよびアップグレードではmoodledataディレクトリに新しいファイルが作成され、ウェブサーバにはそれらのファイルへの書き込みアクセスが必要になるため、これは特に重要です。Linuxディストリビューションでは、ウェブサーバを実行するユーザは通常、apache、www-data、httpdまたはそれに類するものです。rootユーザとしてMoodle CLIスクリプトを実行する場合は、次のように実行するとよいでしょう:

   $ cd /path/to/your/moodle/dir
   $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params

ほとんどのスクリプトは、完全な使用方法の情報を表示する共通の--help(または-h)パラメータを受け付けます。例:

   $ sudo -u apache /usr/bin/php admin/cli/install.php --help
注: これらのスクリプトは、ウェブサーバユーザとして実行することを想定しています。このページの例では、説明のためにapacheユーザを使用しています。実際の値は、OSのディストリビューションとローカルの設定によって異なります。一般的な値はapache、www-dataまたはhttpdです。

bin/moodleコマンドラインツール

Moodle 5.3の
新機能!

Moodle 5.3から、Moodleには、Symfony Consoleコンポーネントをベースにした新しいコマンドラインツールbin/moodleが含まれています。これは、いくつかの一般的な管理タスクを実行するためのもう1つの方法です。admin/cliにある既存のスクリプトも引き続き利用でき、完全にサポートされています。

注: bin/moodleを使用するには、Composerの依存関係がインストールされている必要があります。インストールされていない場合は、Symfony console has not been installed via composer. Please run composer install.というメッセージを表示して停止します。Composerの依存関係のインストールをご覧ください。


bin/moodleは、Moodleのルートディレクトリ(public/の1つ上の階層にある、config.phpを含むディレクトリ)から、ウェブサーバユーザとして実行します。利用可能なすべてのコマンドを表示するには:

   $ cd /path/to/your/moodle/dir
   $ sudo -u apache /usr/bin/php bin/moodle list

コマンドのオプションを表示するには、helpの後にコマンド名を指定するか、--helpを追加します:

   $ sudo -u apache /usr/bin/php bin/moodle help admin:plugins:uninstall

利用可能なコマンド

コマンド 機能 類似のadmin/cliスクリプト
admin:cron cronを実行します。オプションを使用して、実行中のタスクの一覧表示、他のcronプロセスの停止、cronランナーの有効化および無効化を行うことができます。 cron.php
admin:purge-caches すべてのキャッシュ、または選択したタイプのキャッシュのみを削除します(例:--theme、--lang、--courses=4,67)。 purge_caches.php
admin:session:destroy:all すべてのユーザセッションを破棄して、すべてのユーザをログアウトさせます。 kill_all_sessions.php
admin:plugins:list インストール済みのプラグインを一覧表示します。追加プラグインのみを表示するには--contribを、ディスクから欠落しているプラグインを表示するには--missingを使用します。 uninstall_plugins.php --show-all
admin:plugins:uninstall 1つ以上のプラグインをアンインストールします(例:admin:plugins:uninstall local_myplugin block_myblock)。対象のプラグインを一覧表示し、確認を求めます。確認をスキップするには--assume-yesを使用します。非対話モードでは、--assume-yesが必須です。 uninstall_plugins.php --plugins
admin:plugins:purge-missing ファイルがディスクから欠落しているすべてのプラグインをアンインストールします。 uninstall_plugins.php --purge-missing

admin:cronはcronとして、admin:purge-cachesはpurge-cachesとして実行することもできます。

警告: kill_all_sessions.phpおよびuninstall_plugins.phpとは異なり、admin:session:destroy:allおよびadmin:plugins:purge-missingにはドライランがなく、確認も求められません。実行するとすぐに変更が適用されます。


いずれかのプラグインコマンドを使用した後は、Moodleデータベースを更新してください。admin:plugins:uninstallはプラグインのファイルを削除しないため、先にファイルを削除してください。そうしないと、Moodleはプラグインを再度インストールするよう提示します。

アップグレード

Moodleはコマンドラインからアップグレードできます。インストールスクリプトと同様に、アップグレードにも対話モードと非対話モードがあります。スクリプト自体はサイトをメンテナンスモードにしないため、ご自身で行う必要があります。また、スクリプトはデータのバックアップも行いません。

注: 前述のとおり、アップグレード用のphpスクリプトはMoodleサイトのデータのバックアップを実行しません。このスクリプトを実行する前に、ソフトウェア、データディレクトリおよびデータベースを含む適切なサイトのバックアップを取得したことを確認してから、アップグレードを実行してください。

対話型のアップグレードを実行するには、次のコマンドを実行します:

   $ sudo -u apache /usr/bin/php admin/cli/upgrade.php

MoodleのソースコードをGitでチェックアウトしている場合(管理者向けGitをご覧ください)、コマンドラインによるアップグレードは非常に快適なMoodleのアップグレード方法です。次の手順に従うと、Gitリポジトリで管理しているローカルのカスタマイズを保持したまま、数秒でサイトを最新バージョンにアップグレードできます:

   $ cd /var/www/sites/moodle/htdocs/
   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable
   $ git pull
   $ sudo -u apache /usr/bin/php admin/cli/upgrade.php
   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable

または、Gitを使用する代わりに、wgetコマンドを使用してMoodleのウェブサイトから更新されたMoodleパッケージをダウンロードし、tarコマンドで展開することもできます。

   $ wget https://download.moodle.org/download.php/direct/stable405/moodle-4.5.1.tgz
   $ tar -xvzf moodle-4.5.1.tgz

なお、パスには「/direct/」が含まれている必要があります。含まれていない場合、wgetは機能しません。

PHPの追加メモリ

環境の設定によっては、CLIアップグレードを実行するために、より多くのメモリを指定してPHPを明示的に実行する*必要がある場合があります*。
これは、メモリ不足のためにPHPが失敗する場合にのみ必要です。

例:

$ sudo -u apache /usr/bin/php --memory_limit=16G admin/cli/upgrade.php

必要なメモリ量は、Moodle LMSのバージョンや個々の環境によって異なります。

インストール

コマンドラインからMoodleをインストールするモードは2つあります。対話モードでは、インストールスクリプトが、新しいMoodleサイトを適切に設定するために必要なすべてのデータを尋ねます。非対話モードでは、必要なすべてのデータをスクリプトのパラメータとして指定する必要があり、その後、新しいサイトが対話なしでインストールされます。パラメータは対話モードでも渡すことができます。その場合、指定した値は対話セッション中のデフォルト値として使用されます。

   $ sudo -u apache /usr/bin/php admin/cli/install.php --lang=cs

引数にLinux系システムの特殊文字が含まれている場合は、バックスラッシュでエスケープすることを忘れないでください。例えば、パスワードがpa$swordの管理者を作成する場合は、代わりにpa\$swordと記述する必要があります!

必要に応じて、データベースのインストールをスキップし、config.phpの作成のみを行うこともできます。

  $ sudo -u apache /usr/bin/php admin/cli/install.php --skip-database

config.phpがすでに存在する場合は、代わりにadmin/cli/install_database.phpを使用する必要があります。例:

 $ sudo -u apache /usr/bin/php admin/cli/install_database.php --agree-license \
   --adminpass='secret' --fullname='My Site' --shortname='My Site' \
   --adminemail=admin@example.com --supportemail=support@example.com

メンテナンスモード

CLIでサイトをメンテナンスモードに切り替えるには、次のコマンドを使用できます:

   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable

メンテナンスモードをオフにするには、同じスクリプトを--disableパラメータを付けて実行します:

   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable

メンテナンスモードをすぐに有効にするのではなく、ユーザにカウントダウンを表示する場合は、同じスクリプトを--enablelaterパラメータと、カウントダウンを実行する分数を付けて実行します:

   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enablelater=10

このスクリプトは、「オフライン」モード用のclimaintenance.htmlファイルの作成および削除も行います。

オフラインモード

状況によっては、Moodleサイトをオフラインモードに切り替えて、ウェブからアクセスできないようにしたいものの、ウェブサーバを完全に停止することはできない場合があります(通常、そのサーバで他のウェブページやアプリケーションが実行されているためです)。moodledataディレクトリのルートフォルダにclimaintenance.htmlという名前のファイルが存在する場合、Moodleは他のページの代わりに、そのファイルの内容を自動的に表示します。

   $ cd /var/www/sites/moodle/moodledata/
   $ echo '<h1>Sorry, maintenance in progress</h1>' > climaintenance.html

サーバの停止をユーザに知らせるための、きれいに整形されたHTMLページを用意して、climaintenance.offのような名前でmoodledataディレクトリに保存しておき、必要に応じてclimaintenance.htmlにリネームすることができます。

サイトのカスタムデフォルト値

CLIによるインストールおよびアップグレード中、Moodleは管理変数をデフォルト値に設定します。異なるデフォルト値を使用することもできます。詳しくは、MDL-17850をご覧ください。簡単に言うと、Moodleのインストールにlocal/defaults.phpファイルを追加するだけです。ファイルの形式は次のとおりです:

<?php
$defaults['pluginname']['settingname'] = 'settingvalue'; // for plugins
$defaults['moodle']['settingname'] = 'settingvalue';     // for core settings

これらのデフォルト値は、インストールおよびアップグレード中に使用され、サイト管理ページにもデフォルト値として表示されます。

ユーザパスワードのリセット

管理者パスワードを忘れてしまった場合(またはサイト上の他のユーザのパスワードを設定したい場合)は、reset_password.phpスクリプトを使用できます。このスクリプトは、指定したユーザに対して、正しくソルトされたパスワードを設定します。

   $ sudo -u apache /usr/bin/php admin/cli/reset_password.php

手動ログインフォームの表示

手動ログインフォームを非表示にした後でログインできなくなった場合は、次のコマンドラインを使用して再度表示できます:

php admin/cli/cfg.php --name=showloginform --set=1

InnoDBのBarracudaへの変換

MySQLおよびMariaDBの新しいバージョンには、Barracudaと呼ばれる改良されたファイルフォーマットがあります。これを活用するには:

  1. MySQL/MariaDBのバージョンが、ラージインデックスキープレフィックス(innodb_large_prefix)付きのBarracudaを使用していることを確認します。詳しくは、下記をご覧ください。
  2. 圧縮行フォーマットに変更します(圧縮行フォーマットへのテーブルの変更をご覧ください)
  3. フルユニコードサポートのために、文字セットおよび照合順序を変更します(文字セットおよび照合順序の変換をご覧ください)。


MySQL 8.0.0以降、またはMariaDB 10.3.0以降を使用している場合、これらのバージョンはラージインデックスキープレフィックス付きのBarracudaのみをサポートしています。それより前のバージョンでMySQL/MariaDBがBarracudaを使用しているかどうかを確認するには、MySQL/MariaDBクライアントまたはphpMyAdminの「SQL」タブで次のステートメントを実行します:

SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format', 'innodb_large_prefix', 'innodb_file_per_table');

設定が下記のいずれの表とも一致しない場合は、これらの設定を変更する方法について、完全なUTF-8サポートの設定をご覧ください:

innodb_file_format=Barracuda;innodb_file_per_table=ON;innodb_large_prefix=ON または innodb_file_format=(空白);innodb_file_per_table=ON;innodb_large_prefix=(空白) または innodb_file_per_table=ON

設定がこれらの表のいずれかと一致する場合、MySQL/MariaDBはラージインデックスキープレフィックス付きのBarracudaを使用しています。

圧縮行フォーマットへのテーブルの変更

このスクリプトは、テキストカラムの多いテーブルを、ROW_FORMAT=COMPRESSEDを使用するように変更します。この変更は必須ではありませんが、推奨されます。Moodleの使用中にデータベースエラーRow size too large (> 8126)が発生する場合は、このスクリプトを実行して修正してください。

注:MariaDBのバージョン10.6.0から10.6.6まで、またはバージョン10.7.0から10.7.2までを使用している場合は、このスクリプトを実行する前に、それ以降のバージョンにアップグレードする必要があります。詳しくは、MDL-72131をご覧ください。

変換が必要なテーブルを表示するには、--listオプションを使用します:

$ php admin/cli/mysql_compressed_rows.php --list

出力例を次に示します:

mdl_data                            Compact     (needs fixing) 
mdl_data_fields                     Compact     (needs fixing)
mdl_enrol_paypal                    Compact     (needs fixing)

変換を進めるには、fixオプションを使用してコマンドを実行します:

$ php admin/cli/mysql_compressed_rows.php --fix

テーブルの変換に成功すると、出力に表示されます。例:

mdl_data                   ... Compressed
mdl_data_fields            ... Compressed
mdl_enrol_paypal           ... Compressed

これらのコマンドを実行する権限が不足しているためにエラーが発生する場合は、--showsqlを使用して必要なSQLコマンドを生成します:

$ php admin/cli/mysql_compressed_rows.php --showsql

その後、生成されたSQLを、「root」ユーザとして実行しているMySQL/MariaDBクライアントにコピーできます。

文字セットおよび照合順序の変換

このスクリプトは、Moodleデータベースのテーブルを変更して、フルユニコードサポートを有効にします。

$ php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci

この変更を行った後、config.phpを編集し、$CFG->dboptions配列内の「dbcollation」を「utf8mb4_unicode_ci」に変更します。

詳しくは、MySQLのフルユニコードサポートをご覧ください。

コマンドラインによるcronの実行

バージョン1.xでは、admin/cron.phpをコマンドラインまたはウェブ経由で実行できました。Moodle 2.0以降は、admin/cli/cron.phpスクリプトのみをコマンドラインから実行できます。

スケジュールタスク

スケジュールタスクはcronスクリプトによって自動的に実行されますが、cronの各反復で実行される具体的なタスクは、スケジュールタスクの設定によって決まります。admin/cli/scheduled_task.phpスクリプトを使用すると、スケジュールタスクの設定をオーバーライドして、単一のスケジュールタスク、または実行時期が来たすべてのスケジュールタスクを即座に実行できます。

このスクリプトは、次の引数を受け付けます:

--list - 既知のすべてのスケジュールタスクを一覧表示します。タスクは、タスクの実行に使用されるクラス名で一覧表示されます。特定のタスクを即座に実行するには、次のオプションの引数としてこのクラス名が必要です。
-e, --execute - Moodle 5.3から、スケジュール設定にかかわらず、実行時期が来たすべてのスケジュールタスクを即座に実行します。これは、既存のadmin/cli/adhoc_task.php --executeの動作と同じです。
-e, --execute=<task> - スケジュール設定にかかわらず、単一のスケジュールタスクを即座に実行します。無効にされたタスクも実行されます。タスクは引き続きロックを使用して、同じタスクの同時実行を防ぎます(クラスタ上でも同様です)。<task>引数の形式は、上記の--listオプションで返される形式と同じである必要があります。
--disable=<task> - 単一のスケジュールタスクを無効にします。<task>引数の形式は、上記の--listオプションで返される形式と同じである必要があります。
--enable=<task> - 単一のスケジュールタスクを有効にします。<task>引数の形式は、上記の--listオプションで返される形式と同じである必要があります。
-f, --force - Moodle 5.3から、サイト全体でcronが無効になっている場合でもタスクを実行します。
--showsql - 実行前にSQLクエリを表示します
--showdebugging - 開発者のデバッグ情報を表示します

注:--executeコマンドを使用する場合は、「\」を追加の\でエスケープする必要があります。次の例をご覧ください:

php admin/cli/scheduled_task.php --list

これは、次のような結果を返します:

== 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

...

実行時期が来たすべてのスケジュールタスクを実行するには:

php admin/cli/scheduled_task.php --execute

この一覧の特定のタスクを実行するには:

php admin/cli/scheduled_task.php --execute='\enrol_imsenterprise\task\cron_task'

シングルクォートに注意してください。シングルクォートがない場合、シェルによるエスケープを避けるために、バックスラッシュを二重にする必要があります。

アドホックタスク

アドホックタスクは、通常はcronによって実行される低レイテンシのタスクです。admin/cli/adhoc_task.phpを使用して、キューに入っているアドホックタスクのみを実行できます。

このスクリプトは、次のオプションと引数を受け付けます:

 -h, --help                Print out this help
     --showsql             Show sql queries before they are executed
     --showdebugging       Show developer level debugging information
 -e, --execute             Run all queued adhoc tasks
 -k, --keep-alive=N        Keep this script alive for N seconds and poll for new adhoc tasks
 -i  --ignorelimits        Ignore task_adhoc_concurrency_limit and task_adhoc_max_runtime limits
 -f, --force               Run even if cron is disabled

例えば、現在キューに入っているアドホックタスクを実行するには:

sudo -u apache php admin/cli/adhoc_task.php -e

アドホックタスクの改善点については、スケジュールタスク#アドホックタスクもご覧ください。

データベース転送

データベース転送用のコマンドラインスクリプトは、admin/tool/dbtransfer/cli/migrate.phpにあります。

キャッシュの削除

次のスクリプトを使用して、キャッシュを削除できます:

 php admin/cli/purge_caches.php

Moodle 5.3から、bin/moodle admin:purge-cachesも使用できます。bin/moodleコマンドラインツールをご覧ください。

すべてのセッションの強制終了

管理上の理由で必要な場合は、次のスクリプトを使用して、すべてのユーザセッションを強制終了できます:

php admin/cli/kill_all_sessions.php --run

その結果、すべてのユーザがMoodleからログアウトされます。

Moodle 5.2から、このスクリプトは対象を絞ったセッションの終了をサポートしており、デフォルトではドライランモードで実行されます。

特定のユーザのセッションのみを終了するには、--for-usersでユーザIDのカンマ区切りリストを渡します:

php admin/cli/kill_all_sessions.php --for-users=2,3,4 --run

--runを指定しない場合、スクリプトはドライランモードで実行されます。つまり、変更を加えずに、何が起こるかを報告します。これは、実行する前に、どのセッションが終了されるかを確認するのに便利です。

オプション:

  • --for-users=<id,id,...> — セッションを終了するユーザIDのカンマ区切りリストです。省略した場合、すべてのセッションが終了されます。
  • --run — 終了を実行します。このオプションを指定しない場合、スクリプトはドライランモードで実行されます。

Moodle 5.3から、bin/moodle admin:session:destroy:allも使用できます。ただし、こちらにはドライランがありません。bin/moodleコマンドラインツールをご覧ください。

コースまたはモジュールのバックアップ、リストアおよびインポート

CLIによるバックアップについてはコースのバックアップを、CLIによるリストアについてはコースのリストアをご覧ください(3.10以降)。コースまたは個々のモジュールは、import.phpを使用してコマンドラインで直接コピーできます(4.4以降)。CLIによるインポートについては、コースのコピーをご覧ください。

コースの削除

コースIDがわかっている場合は、CLIでコースを削除できます:

sudo -u www-data /usr/bin/php admin/cli/delete_course.php --courseid=123456

Moodle 5.2から、省略名またはIDナンバでコースを削除することもできます:

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

コース / モジュールシーケンスの修正

まれに(Moodleの非常に古いバージョンからアップグレードした後など)、コース / セクション / モジュールのシーケンスデータの同期が取れなくなることがあります。これにより、影響を受けるコースで、セクションが表示されない、バックアップが失敗する、ページが表示されないなど、さまざまな問題が発生する可能性があります。この問題によって発生したエラーを確認し、エラーが見つかった場合にデータベース内のデータを修正するための専用のチェックがあります。このスクリプトを実行するには、次のコマンドを使用してください:

 php admin/cli/fix_course_sequence.php -c=* --fix

これにより、Moodle内のすべてのコースがチェックされ、エラーがあって修正されたコースが報告されます。

迷子の問題カテゴリの修正

小テストを作成すると、その小テスト用の新しい問題カテゴリが自動的に作成されます。Moodle 2.9.1より前のバージョンでは、小テストを削除しても、問題カテゴリおよびそのカテゴリ内の問題はデータベースに残ります。これらの迷子の問題カテゴリは、admin/cli/fix_orphaned_question_categories.phpスクリプトを--fixオプションを付けて実行することで修正できます。

テキストの検索および置換

このスクリプトを使用して、データベース全体のテキストを検索および置換できます。慎重に使用し、必ず事前にバックアップを取ってください。詳しくは、検索および置換ツールをご覧ください。

 php admin/tool/replace/cli/replace.php --search=//oldsitehost --replace=//newsitehost

テーマCSSキャッシュの構築

Moodleがテーマデザイナモードで実行されていない場合、Moodleはコンパイル済みのCSSのコピーをローカルディスクに保持し、ブラウザがページを要求したときにそれを提供します。ローカルディスクにコピーがない場合は、Moodle内のページが最初に要求されたときにコピーが作成されます。

このスクリプトを使用すると、Moodle内のテーマのキャッシュCSSファイルを事前にコンパイルして、最初のページ要求時にユーザがテーマのコンパイルを待たなくて済むようにできます。

 php admin/cli/build_theme_css.php --themes=boost

設定値の取得および設定

指定した設定の現在の値を表示するか、指定した設定を指定した値に設定します。

$ 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]

例:

$ php admin/cli/cfg.php --name=langmenu

サイト管理 > 言語 > 言語設定の「言語メニューを表示する」の値(「No」の場合は0、「Yes」の場合は1)を表示します。

$ php cfg.php --name=maxsizetodownload --component=folder

サイト管理 > プラグイン > 活動モジュール > フォルダからアクセスできる「最大フォルダダウンロードサイズ (MB)」の値を表示します。

$ php admin/cli/cfg.php --name=langmenu --set=0

「言語メニュー」を無効にします。

ユーザのメールフラグ

Moodle 4.2から、1人または複数のユーザのメールフラグを一度に変更するCLIスクリプトは、ユーザのメールフラグページにあります。

ダッシュボードの再設定

ダッシュボードに変更を加え、その変更を反映するためにすべてのユーザのダッシュボードを再設定したい場合は、CLIで次のように実行できます:

php admin/cli/dashboard_reset.php -e

コマンドラインによるプラグインの管理

Moodleプラグインの一覧表示およびアンインストール

Moodleには、プラグインの一覧を表示したり、プラグインを削除したりするための便利なコマンドラインツールが含まれています。

$ php admin/cli/uninstall_plugins.php

このコマンドラインツールは、次の引数を受け付けます。

オプション:

    -h --help                   Print this help.
    --show-all                  Displays a list of all installed plugins.
    --show-contrib              Displays a list of all third-party installed plugins.
    --show-missing              Displays a list of plugins missing from disk.
    --purge-missing             Uninstall all missing from disk plugins.
    --plugins=<plugin name>     A comma separated list of plugins to be uninstalled. E.g. mod_assign,mod_forum
    --run                       Execute uninstall. If this option is not set, then the script will be run in a dry mode.
    --showsql                   Show sql queries before they are executed.
    --showdebugging             Show developer level debugging information.

ドライランモードでは、実際に変更を加えることを除いて、スクリプトが通常行うすべての処理が実行されます。これは、コマンドの妥当性をテストしたい場合に便利です。

Moodleのwwwrootディレクトリからこのコマンドを実行します。次に例を示します:

    # php admin/cli/uninstall_plugins.php  --show-all
       Prints tab-separated list of all installed plugins.
    # php admin/cli/uninstall_plugins.php  --show-contrib
       Prints tab-separated list of all third-party installed plugins.
    # php admin/cli/uninstall_plugins.php  --show-missing

Prints tab-separated list of all missing from disk plugins.

    # php admin/cli/uninstall_plugins.php  --purge-missing
       A dry run of uninstalling all missing plugins. This will NOT uninstall the plugin. To actually uninstall, you need to add the '--run' arguments.
    # php admin/cli/uninstall_plugins.php  --purge-missing --run
       Run uninstall of all missing plugins.
    # php admin/cli/uninstall_plugins.php  --plugins=mod_assign,mod_forum
       A dry run of uninstalling mod_assign and mod_forum plugins. This will NOT uninstall the plugin. To actually uninstall, you need to add the '--run' arguments.
    # php admin/cli/uninstall_plugins.php  --plugins=mod_assign,mod_forum --run
       Run uninstall for mod_assign and mod_forum plugins.

このツールは、プラグインを完全にアンインストールするために必要なすべての手順を実行するわけではありません。その後、次の作業を行う必要があります:

これらの手順の一方または両方を省略した場合、次回サイト管理者としてログインしてサイト管理 > 通知ページにアクセスしたときに、Moodleデータベースの更新またはプラグインの再インストールを求められます。

Moodle 5.3から、bin/moodle admin:plugins:list、admin:plugins:uninstallおよびadmin:plugins:purge-missingでもプラグインを管理できます。bin/moodleコマンドラインツールをご覧ください。

関連項目

  • MDL-35736 - Manage plugins via command-line
  • MDL-36237 - Resort course list via CLI
  • MOOSH - MOOdle SHell。Moodleの最も一般的なタスクの多くを実行できるコマンドラインツールです。
  • MOOSH 2 - Moodleコアのバージョン5.1以降用です。上記のMOOSHリンク先にあるmoosh2へのリンクをご覧ください。