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

クラウド同期のシンボリックリンクエラーを修正 — RcloneViewでリンク転送の問題を解決

· 約7分
Tayson
Senior Engineer

シンボリックリンクは、気づかないうちにクラウド同期ジョブを破綻させることがあります。ここでは、rcloneのシンボリックリンクの挙動を理解し、RcloneViewで正しく処理するための設定方法を紹介します。

クラウド同期ジョブが予期しないエラーで失敗したり、ファイルが行方不明になったように見えたりする場合、シンボリックリンクが原因である可能性があります。RcloneViewの動作エンジンであるrcloneには、シンボリックリンクに対する特有のデフォルト動作があり、多くのユーザーがこれに戸惑います。この挙動を理解し、RcloneViewでどの設定を調整すべきかを知ることで、シンボリックリンク関連の同期問題の多くをすばやく解決できます。

RcloneViewアプリのプレビュー

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

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

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

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

rcloneのデフォルトのシンボリックリンク処理

デフォルトでは、rcloneはシンボリックリンクをたどり、リンクが指すファイルまたはディレクトリを転送します。シンボリックリンク自体は転送されません。つまり、システム上の別の場所にある大きなファイルを指すシンボリックリンクがある場合、rcloneは実際のファイル内容をクラウドの転送先にコピーします。ほとんどの場合これは望ましい動作ですが、シンボリックリンクの参照先が存在しない、同期ルートの外にある、または循環参照を作り出している場合には混乱を招くことがあります。

シンボリックリンクの参照先が見つからない、またはアクセスできない場合、rcloneはエラーを記録し、そのシンボリックリンクをスキップします。長い転送ログの中では、これらのスキップされたファイルを見落としやすいものです。RcloneViewのジョブ履歴パネルにはこれらのエラーが記録されるため、ジョブ完了後は必ず履歴を確認し、ファイルが気づかないうちにスキップされていないかを確認してください。

Checking job history for symlink errors in RcloneView

RcloneViewで--copy-linksフラグを使用する

シンボリックリンクの参照先が同期ルートの外にある場合でも、rcloneにシンボリックリンクをたどらせて参照先の内容をコピーさせたい場合は、RcloneViewのグローバルRcloneフラグ設定で--copy-linksフラグを渡すことができます。RcloneViewの環境設定を開き、グローバルRcloneフラグフィールドを探して--copy-linksを追加してください。これにより、rcloneはシンボリックリンクを通常のファイルとして扱い、その基となる内容をコピーするようになります。

シンボリックリンクが非常に大きなディレクトリを指しているシステムでは、--copy-linksを使用する際に注意してください。転送サイズが大幅に増加する可能性があります。また、一部のクラウドプロバイダーにはファイル名やパスの長さに制限があり、シンボリックリンクの参照先のパスが長い場合に問題が発生することがあります。

Configuring global rclone flags in RcloneView settings

フィルターでシンボリックリンクを除外する

多くのワークフローにとってより安全な代替策は、シンボリックリンクを同期から完全に除外することです。RcloneViewのジョブ設定では、シンボリックリンクをスキップするフィルタールールを追加できます。シンボリックリンク名に一致するパターンを指定して--excludeオプションを使用するか、--linksを使用してシンボリックリンクをテキストファイルとしてコピーする(内容ではなくリンク参照先のパスを保存する)方法があります。このアプローチにより、予期しない大容量転送のリスクを避けつつ、同期の動作を予測可能な状態に保てます。

シンボリックリンクが多用されるソフトウェア開発リポジトリのようなプロジェクトでは、実際に同期を実行する前に、フィルタールールとドライランを組み合わせるのがベストプラクティスです。RcloneViewのドライランモードでは、どのファイルが転送、スキップ、またはエラーになるかを正確に表示するため、完全な同期を実行する前に安心して確認できます。

Using filters and dry run to handle symlinks in RcloneView

はじめに

  1. rcloneview.comからRcloneViewをダウンロードします。
  2. 同期に失敗した後、ジョブ履歴を開いてシンボリックリンク関連のエラーメッセージを確認します。
  3. シンボリックリンクの内容を転送したい場合は、RcloneViewの環境設定を開き、グローバルRcloneフラグ--copy-linksを追加します。
  4. あるいは、ジョブウィザードでフィルタールールを追加し、シンボリックリンクを同期対象から除外します。
  5. 実際の同期を実行する前に、ドライランを実行して動作を確認します。

シンボリックリンクを正しく処理することは、同期の信頼性に大きな違いをもたらす小さな設定の一つです。そして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