rcloneのcopyとsyncを使い分ける

rcloneのcopyとsyncを比較し、転送先の削除を事前確認します。dosyaのバージョンとゴミ箱の保持期間を理解し、完了した操作を確認します。

最終確認日

スクリーンショットは英語版の画面です。

転送先にのみ存在するファイルを残す場合はrclone copyを選択してください。転送先を完全で信頼できる転送元のミラーにする場合に限り、rclone syncを選択してください。どちらも同じ相対パスにある変更済みファイルを置き換えることがあります。syncだけはさらに、転送元にない転送先のファイルを削除します。

操作ローカルからdosyaへの影響dosyaからローカルへの影響
copy選択したクラウドファイルを追加または更新し、クラウドにのみ存在するファイルを残すローカルファイルを追加または更新し、ローカルにのみ存在するファイルを残す
sync選択したクラウドの転送先を転送元に一致させ、必要に応じて削除する選択したローカルの転送先をクラウドの転送元に一致させ、必要に応じて削除する

転送元は1番目のパス、転送先は2番目のパスです。これらは一方向の操作であり、双方向同期のペア設定ではありません。公式のcopyとsyncの資料を参照してください。

「rcloneのcopyとsyncを使い分ける」の手順:コマンドを比較し、転送先だけにあるファイルを残すにはcopy、完全なミラーにはsyncを選択します。選択したコマンドは意図した削除動作を行います。
「rcloneのcopyとsyncを使い分ける」の手順:コマンドを比較し、転送先だけにあるファイルを残すにはcopy、完全なミラーにはsyncを選択します。選択したコマンドは意図した削除動作を行います。スクリーンショットを原寸大で開く。

操作を選ぶ前にリモートの動作を確認する

rcloneのダウンロードページからインストールした後、rclone versionを実行してください。dosya WebDAVの場合はProfile → API keysでキーを作成し、プロトコル制限でWebDAVを許可してください。ミラーにするリモートの転送先にはフルアクセスを選択してください。削除にはそのスコープが必要です。また、メンバーにはアップロード、フォルダー作成、適切な削除の権限が必要です。クラウドの転送元からローカルにダウンロードする場合は読み取り専用キーで十分です。

対象ワークスペースのIntegrations → WebDAV → Endpoint & credentialsをコピーしてください。rclone configでdosya-webdavを作成し、Storageにwebdav、Vendorにother、完全なHTTPS URL、Userにキーのオーナーのメールアドレスを指定し、非表示のPassword入力欄にAPIキー全体を入力してください。Bearer tokenは空欄のままにしてリモートを保持してください。これらのオプションはWebDAVの資料に記載されています。非公開の設定を共有する診断情報に含めないでください。

rclone lsf dosya-webdav:
rclone lsf dosya-webdav:All/rclone-checks --recursive

通常のマウントには6つのコレクションが表示されます。実際に書き込み可能なツリーにはすべてを使用してください。フォルダーにアンカーされたキーでは、許可されたフォルダーの子項目が直接表示されます。All/接頭辞を外し、子項目の相対パスを使用してください。ミラーの対象は専用のサブフォルダーに限定し、接続ルート、スマートビュー、他の人のファイルがあるワークスペースを対象にしないでください。非表示またはアクセスできない転送元ファイルがあると一覧が不完全になることがあります。転送先に残すべきものがすべて含まれていることを確認してください。

手順:安全なサンプルを事前確認する

内容を確認したローカルのsample-sourceフォルダーと、別のテスト用転送先rclone-checksを使用してください。転送元フォルダーの中身が転送先に入り、転送元フォルダー自体の階層は追加されません。

rclone copy ./sample-source dosya-webdav:All/rclone-checks --dry-run --progress
rclone sync ./sample-source dosya-webdav:All/rclone-checks --dry-run --progress

表示されたパスと予定されるすべての削除を確認してください。ドライランには予定の合計が表示されることがありますが、実際のコピーや削除は行われていません。リモートにのみ存在するファイルを残す必要がある場合、そのフォルダーに対して2番目のプランは適切ではありません。スペースを含むパスは引用符で囲み、相対パスを使用する前にターミナルの現在のフォルダーを確認してください。

空または誤ったローカルの転送元はミラーにとって特に危険です。転送先のファイルが不要と判断されることがあります。フィルターは選択対象を変更し、--delete-excludedを指定するとsyncは除外された転送先項目も削除できます。原因不明の不一致を解消するために追加しないでください。rcloneは通常、エラー後の転送先の削除を避けますが、--ignore-errorsはこの保護を変更します。詳細はrclone syncを参照してください。

copyを実行するか、ミラーを自分で確認して実行する

追加するテストの場合:

rclone copy ./sample-source dosya-webdav:All/rclone-checks --progress

正確なsyncのプレビューを確認し、転送先にのみ存在するすべての項目を削除してよい場合は、次を実行してください:

rclone sync ./sample-source dosya-webdav:All/rclone-checks --progress

2番目のコマンドは実際に削除を行います。このガイドが代わりに実行することはありません。検証済みの既存のdosyaスクリーンショットは、サンプルのコピーの成功とリモートにのみ存在するファイルの保持を示しています。syncによる削除の完了は示していません。このガイドのsync例は公式コマンドの仕様と、原文で確認したdosyaの削除動作に基づきます。

パスを逆にするとローカルフォルダーが転送先になります。例えばrclone sync dosya-webdav:All/rclone-checks ./sample-downloadはsample-downloadにのみ存在するローカルファイルを削除することがあります。コンピューターからのみ削除されたファイルはdosyaのゴミ箱から復元できません。この方向で同期する前に、独立したローカルバックアップを保持してください。

dosyaでの置き換えと削除

rcloneが同じ実際のクラウドフォルダー内の既存ファイル名に異なる内容を送ると、WebDAVはファイルの同一性を維持し、既存ファイルの新しいバージョンを書き込みます。そのためcopyは「上書きしない」という意味ではありません。Vendorがotherの場合、rcloneのメタデータやハッシュの比較には制限があります。再転送すると判断されたファイルは、追加のバージョンを作成することがあります。

ワークスペースの履歴上限は標準で10バージョンです。設定された上限が正の値でない場合、件数の制限は無効になります。無料プランのオーナーの古いバージョンは7日後に削除対象になりますが、最新バージョンは保持されます。有料ワークスペースにも件数制限が適用されるため、置き換え履歴による無制限の復元は保証されません。オリジナルと保持されたバージョンのバイトはストレージを消費します。

WebDAVのDELETEはクラウドファイルをゴミ箱に移動し、共有リンクを失効させます。フォルダーを削除するとその配下もゴミ箱に移動します。削除権限は対象の各項目を所有しているかどうかによって異なります。ファイル、上位フォルダー、バックアップがロックされている場合、フルアクセスキーでも操作が拒否されることがあります。ゴミ箱のファイルは完全に削除されるまでストレージを消費します。

保持期限が切れる前に、ゴミ箱から復元可能な削除済みクラウドコンテンツを復元してください。自動的に完全削除されるまでの期間は、実質的に無料のワークスペースオーナーでは7日、その他のオーナーでは30日です。rcloneの操作者の契約ではなく、オーナーの実効プランに基づきます。完全削除するとデータと保持されたバージョンは元に戻せません。コンテンツを復元しても、失効した共有リンクが再び有効になるとは限りません。

進行状況バーだけでなく完了を確認する

rclone lsf dosya-webdav:All/rclone-checks --recursive
rclone check ./sample-source dosya-webdav:All/rclone-checks --download --one-way

一覧表示の前に、転送コマンドの終了ステータスを記録してください。POSIXシェルではecho $?、PowerShellでは$LASTEXITCODEを使用します。終了コード0は未解決のエラーがないことを示しますが、必ずしも転送が行われたことを意味しません。0以外の終了コードとエラーはrcloneの終了コード一覧に従って確認してください。

check --download --one-wayはファイルを変更せず、転送元の内容をダウンロードした転送先のバイトと比較します。copy後に転送先だけに存在する余分なファイルは許容されます。sync後に両側の差異も報告する必要がある場合は--one-wayを省いてください。rclone checkを参照してください。ファイルでdosyaフォルダーを確認し、削除を意図した場合はゴミ箱と残っているファイルの一覧も確認してください。

これらの確認はクラウドのバイトを再度読み取り、送信量を消費します。ワークスペースのストレージ、アップロード制限、キーやロールの並行数、日次送信量の利用枠も実行に適用されます。HTTP 429が返された場合は、サーバーから再試行の指示があればそれに従い、すぐに繰り返すのではなく適用される制限を調べてください。

拒否されたミラーや途中で終わったミラーから復旧する

  • API key scope must be ‘full’ to deleteはキーのスコープ不足を、Delete not allowedはロールまたは所有権による拒否を示します。アップロードが成功しても、転送先のすべての項目を削除できるとは限りません。
  • ロック中(423)の場合は、該当するファイルまたは上位フォルダーのロックを解除する必要があります。コマンドを繰り返しても解除できません。
  • 後から失敗する前に一部の転送が完了することがあります。再試行前に現在の転送先、ゴミ箱、バージョン履歴を確認してください。非ゼロの終了コードでも、成功したアップロードはロールバックされません。
  • 誤ったファイルがゴミ箱に移動された場合はジョブを停止し、復元可能なクラウド項目を速やかに復元して、置き換えられたバージョンを別途確認してください。ローカルの転送先が損なわれた場合はローカルバックアップから復旧してください。

転送先に独立して作成されたファイルがある場合はcopyを標準として使用してください。転送元の選択や転送先が変わるたびに、専用のミラーフォルダーを使用し、新たにドライランを確認してください。

想定される結果

copyは転送先にのみ存在する項目を残します。意図的に確認して実行したsyncは、選択した転送先からそれらを削除します。転送成功のサマリーだけで完全に復旧できると判断せず、置き換えと削除をそれぞれ確認してください。

関連ガイド

この記事は役に立ちましたか?

評価の結果を読み込んでいます…

投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。

質問と回答

このガイドの手順について質問できます。質問は確認後に公開されます。

公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。

質問を読み込んでいます…

    dosyaアカウントにサインインすると、質問を投稿できます。

    やり直す前に結果を確認

    操作をもう一度確認する必要があるときは、次の共通の確認事項をご利用ください。