はじめに
Nextcloud で管理されているフォルダ階層情報、ファイル情報といったファイル管理情報をスキャンして更新する手段としては以下のものがあります。
- バックグラウンドジョブ (ScanFiles)
occ files:scan
を実行する。occ files:scan
を--unscanned
オプションをつけて実行する。
今回は、これらの動作の違いを調査してみましたので、まとめてみます。
各手段の機能
■ バックグラウンドジョブ
10 分間隔に実行され、ストレージに保管されたファイル/フォルダをスキャンして、1回で最大 500 アカウント分のファイル管理情報との同期をバックグラウンドジョブとして実行します。
■ occ files:scan
手動で実行し、ストレージに保管されたファイル/フォルダをスキャンして、指定されたアカウント(もしくはすべて)のファイル管理情報との同期を行います。
■ occ files:scan --unscanned
手動で実行し、指定されたアカウント(もしくはすべて)を対象として上記バックグラウンドジョブ相当の処理を実施します。
※いずれの手段も、Nextcloud 内部ストレージ/外部連携ストレージ1 のいずれもスキャン対象となります。
各手段の機能の比較
ストレージ種別 | Nextcloud のファイル管理情報 | 実体ファイル | バックグラウンドジョブ | occ files:scan |
occ files:scan --unscanned |
---|---|---|---|---|---|
Nextcloud 内部ストレージ | あり | あり | 正しい情報に更新する | 正しい情報に更新する | 正しい情報に更新する |
なし | あり | 何もしない | 管理情報を追加する | 何もしない | |
あり | なし | 何もしない | 管理情報を削除する | 何もしない | |
外部連携ストレージ | あり | あり | 正しい情報に更新する | 正しい情報に更新する | 正しい情報に更新する |
なし | あり | 管理情報を追加する | 管理情報を追加する | 管理情報を追加する | |
あり | なし | 何もしない | 管理情報を削除する | 何もしない |
※ファイル管理情報をきれいに同期する手段としては、occ files:scan
が一番確実ですが、完全に同期を取り直す分処理時間は一番かかります。
まとめ
Nextcloud で管理されているフォルダ階層情報、ファイル情報をスキャンして更新する機能は複数準備されておりますが、更新される範囲が異なりますので、状況に応じて使い分けることをおすすめします。
脚注
1: 外部連携ストレージスキャンする場合には、連携方法によっては Nextcloud にて当該ストレージに対する認証情報を保持しておく必要があります(例: Windows Server など SMB 連携したファイルサーバへの認証情報)。 ↑