メインコンテンツまでスキップ

転送中のファイル変更を修正 — RcloneViewでクラウド同期の競合を解決

· 約7分
Tayson
Senior Engineer

RcloneViewが同期処理を行っている最中にファイルが変更されると、転送が失敗したり、部分アップロードが発生したり、クラウド上のコピーに不整合が生じたりすることがあります。ここでは各シナリオの検出方法と解決方法を説明します。

クラウド同期エラーのよくある原因の一つは、同期ジョブの実行中にファイルが変更、ロック、または書き込みされることです。アプリケーションによって書き込み中のデータベースファイル、Officeで開かれたドキュメント、実行中のサービスによって追記されるログファイルなどは、いずれも部分アップロードや転送失敗を引き起こす可能性があります。RcloneViewはこれらのエラーをログに明確に表示し、rcloneにはこれらを適切に処理するためのいくつかのフラグが用意されています。

RcloneViewアプリのプレビュー

すべてのクラウドを一か所で管理・同期

RcloneViewはrcloneのクロスプラットフォームGUIです。フォルダを比較し、ファイルを転送・同期し、クリーンなビジュアルインターフェースでマルチクラウドのワークフローを自動化できます。

  • ワンクリック操作: コピー · 同期 · 比較
  • 信頼性の高い自動化のためのスケジューラーと履歴
  • Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTPなどに対応
WindowsmacOSLinux
無料で始める →

コア機能は無料。Plusで自動化機能を利用可能。

RcloneViewのログで使用中ファイルのエラーを確認する

同期中にファイルがロックされていたり変更されたりすると、rcloneは通常次のようなエラーを報告します。

  • Failed to copy: file changed under us - trying again
  • source file is being written to
  • partial read detected

RcloneViewでは、これらのエラーはインターフェース下部のログタブに表示されます。同期ジョブが完了したら、ファイル変更の競合を示すERRORエントリがないかログを確認してください。ジョブ履歴ビューでは、ファイルの転送に失敗したジョブについてErroredステータスも表示されます。

Job history showing file transfer errors in RcloneView

--ignore-errorsと再試行ロジックを使用する

デフォルトでは、RcloneViewの同期ジョブには再試行回数(デフォルト: 3回)が設定されており、失敗した転送を自動的に再試行します。一時的にロックされているファイル(例:アプリケーションによって一瞬だけ開閉されるファイル)については、再試行によって次回以降の試行で成功することがよくあります。

一部のファイルが常にロックされている(例:アクティブなデータベースファイル)同期ジョブの場合は、同期ジョブ設定のカスタムrcloneフラグに--ignore-errorsを追加してください。これにより、rcloneは一部のファイルが失敗しても他のファイルの同期を続行し、可能な限り同期を完了させたうえで、失敗内容をログに記録して後で確認できるようにします。

Configuring sync job settings to handle file-in-use errors in RcloneView

アクティブなアプリケーションファイルを同期から除外する

使用中ファイルの競合に対する最良の長期的な解決策は、常にアクティブに使用されているファイルを同期ジョブの対象範囲から除外することです。RcloneViewのフィルタリング設定(同期ウィザードのステップ3)では、カスタム除外ルールがサポートされています。

  • SQLiteデータベースを除外する: アクティブなwrite-aheadログを除外するために*.db-journal*.db-walを追加
  • Officeの一時ファイルを除外する: Word/Excelのロックファイルを除外するために~$*を追加
  • 書き込み中のログファイルを除外する: *.logまたは特定のパターンを追加

これらのフィルターにより、RcloneViewはジョブ実行中に確実に使用中となるファイルを同期しようとしなくなり、このエラーカテゴリ自体を排除できます。

Setting up file exclusion filters to avoid sync conflicts in RcloneView

ドライランを実行してフィルターの有効性を確認する

除外フィルターを追加した後は、同期ジョブのドライランを実行し、除外したファイルが転送リストに表示されなくなったことを確認してください。ドライランの出力にはコピーされる予定のすべてのファイルが表示されます。実際の同期を実行する前に、アクティブなデータベースファイル、ロックファイル、開いているドキュメントがリストに含まれていないことを確認しましょう。

Using dry run to verify filtered file list before syncing in RcloneView

はじめに

  1. rcloneview.comからRcloneViewをダウンロードします。
  2. 同期が失敗した後は、ログタブとジョブ履歴でファイル変更エラーを確認します。
  3. 常に使用中となるファイルについては、同期ウィザードでカスタム除外フィルターを追加します。
  4. ドライランを実行してフィルターが正しく機能していることを確認し、その後同期ジョブを再実行します。

RcloneViewで使用中ファイルの競合を処理するには、どのファイルを除外すべきか、そして再試行をどう設定するかを理解することが重要です。一度正しく設定すれば、同期ジョブは毎回クリーンに実行されるようになります。


関連ガイド:

対応クラウドプロバイダー

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces