18. コマンドラインインタフェース (CLI)

コマンドラインインタフェース(CLI)を使用すると、上級ユーザはグラフィカルインタフェースではなく、コマンドラインまたはターミナルを介してMaharaとやりとりできます。これにより、特定のアクションを高速化したり、実行を簡単にできます。

注釈

各スクリプトで使用できる個々のコマンドに関するヘルプ情報を表示できます。

sudo -u www-data php htdocs/admin/cli/[file name of the script].php -h

18.1. 特定のグループを一括削除します

大規模なサイトがあり、多くのユーザを削除した場合は、古いグループを効率的にクリーンアップすることもできます。バルクグループ削除スクリプトを使用して、次の操作を実行できます:

  • メンバーを持たないすべてのグループを削除します。例えば、ユーザが削除された後;

  • そしてサイト管理者だけをメンバーとして持つすべてのグループを削除します;

  • および/または特定のインスティテューションに関連するグループだけを削除します。

次のコマンドでスクリプトを実行します。データが偶発的に削除されないように、デフォルトでドライランが実行されます。

sudo -u www-data php htdocs/admin/cli/delete_inactive_groups.php

18.2. 特定のユーザを一括削除します

管理画面に移動することなくサイトから一括してユーザを削除する場合は、特に削除するユーザが500人を超える場合は、CLIを使用できます。このスクリプトでは、次の操作を実行できます:

  • ログインしていないユーザ、つまりCSVファイルまたは自動プロセスを使用して手動で作成されたユーザをすべて削除します;

  • および/または特定の日付以来ログインしていないすべてのユーザを削除します;

  • および/または特定のインスティテューションのユーザだけを削除します;

  • 特定のグループのメンバーであるユーザを削除します。

次のコマンドでスクリプトを実行します。データが偶発的に削除されないように、デフォルトでドライランが実行されます。

sudo -u www-data php htdocs/admin/cli/delete_inactive_users.php

18.3. Elasticsearchをより速く実行してサイト索引を作成する

注釈

前提条件: Elasticsearchがインストールされ、サイト上で動作するように設定されています。

Elasticsearchで結果を表示できるように大きなサイトを索引付けまたは再索引付けすると、索引付けがcron実行で行われるため、このプロセスには非常に時間がかかることがあります。しかし、索引付けされたバッチがcronの終了前に終了した場合は、次のバッチが再び開始するまでに時間差があります。 fast_index CLIスクリプトは、直前のバッチが終了した直後に次のバッチ索引付けを開始します。

次のコマンドを使用してスクリプトを実行します:

sudo -u www-data php admin/cli/fast_index.php

18.4. 言語パックのインストールと更新

一般的に、あなたが言語パックをアップデートしたい場合、あなたは全体の言語パックを手動でダウンロードし、それを適切なフォルダに置く必要があります。特にあなたがマイナーポイントアップデートの間に言語パックをアップデートしたいときは、これは面倒です。

CLIを使うことによって、あなたはプロセスを時間短縮できます。

言語コードをリストすることによる Maharaのあなたのインスタンスのための 言語パックのインストールまたはアップデート

例(de = ドイツ語、fr = フランス語)

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr

それらがdatarootの langpacks_backup ディレクトリに存在する場合、これは既存の言語のバックアップをします。

注釈

使用される言語コードは、Mahara言語パック のために使われた公式な国際的なものです。

バックアップを行わない: -b=false フラグを追加する

例:

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -b=false

バックアップをリストアする: -r=true フラグを使用する

例:

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -r=true

これはMahara自体内で設定されている英語のアップデートを無視します。