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

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

注釈

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

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

11.13.1. new in Mahara 18.10 特定のグループをまとめて削除する

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

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

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

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

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

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

11.13.2. new in Mahara 18.10 特定のユーザをまとめて削除する

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

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

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

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

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

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

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

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

注釈

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

Elasticsearchが結果を表示できるよう大きなサイトでインデックス化または再インデックス化される場合、インデックス化はcronで実行されるため、この処理には非常に長い時間を要する場合があります。cronの実行完了前にインデックス化のバッチが終了した場合、次のバッチが再開されるまでの時間差があります。fast_index CLIスクリプトは前のバッチ完了直後に次のバッチインデックス化を開始します。

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

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

11.13.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内部で設定されている英語のアップデートを無視します。