Nextcloud では、システム内部処理のためにバックグラウンドジョブを実行させる仕組みがあります。
このバックグラウンドジョブを起動させる仕組みは以下の 3 つの方式があり、稼働させるサーバーの状況に応じて選択することができます。
- AJAX
- Webcron
- cron
バックグラウンドジョブの設定
Nextcloud のバックグラウンドジョブをどの方式で行うかは、管理者向けの設定メニュー内の「基本設定」をクリックして設定画面を表示します。
バックグラウンドジョブの方式
1. AJAX
Nextcloud をインストールした状態でのデフォルトはこれが設定されています。
Nextcloud へのユーザーアクセスに応じてバックグラウンドジョブが実行される方式です。
この方式は、システムへのコンソールアクセスや別途サービスへの登録をせずに利用ができますが、バックグラウンドジョブを定期的に実行するために、定期的にページにアクセスする必要がある点で信頼性としては一番低くなります。
2. Webcron
Nextcloud のバックグラウンドジョブを実行するための PHP スクリプトである “cron.php” を外部の Webcron サービス等に登録して定期的にバックグラウンドジョブを実行する方式です。
この方式では、システムへのコンソールアクセスは不要ですが、外部サービスから Nextcloud に対してインターネットを使用してアクセスできる必要があります。
■Webcron サービスに登録する呼び出し URL の例
- “http[s]://【FQDN】/” で Nextcloud にアクセスさせる場合
⇒http[s]://【FQDN】/cron.php
3. cron
Nextcloud のバックグラウンドジョブを実行するための PHP スクリプトである “cron.php” の実行を OS の cron を利用して登録し、定期的にバックグラウンドジョブを実行する方式です。通常は 5 分間隔で実行されるように設定します。
■cron の設定例
*/5 * * * * php -f /var/www/html/nextcloud/cron.php
各方式の使い分け
1. AJAX
Webcron サービスを利用できず、サーバーへのコンソールアクセスもできないような環境で Nextcloud を利用せざるを得ない場合はこの方式を選択する形になります。
2. Webcron
サーバーへのコンソールアクセスが行えないが常に定期的にバックグラウンドジョブを実行させたい場合はこの方式を選択します。
このほかに、Nextcloud サーバーを冗長構成にし、クラウドの AutoScaling サービスでサーバー稼働数が一定とならない場合には、cron を実行するサーバーの考慮が必要となるため、この方式を選択するとよいと考えられます。
3. cron
3 つの方式では一番無難な方式です。複数台の Nextcloud サーバーが運用される構成であっても、cron の実行スケジュールを調整するなどして設定をしていきます。
弊社で Nextcloud の構築代行を実施差し上げる際には、この方式を選択しております。