WebDAV経由でrcloneを使ってファイルをコピーする
ワークスペースのAPIキーでrclone WebDAVを設定し、サンプルのコピーをプレビューしてアップロードしたファイルを確認します。ルートパスと置き換えの制限も説明します。
最終確認日
スクリーンショットは英語版の画面です。
このガイドではコンピューター上でrcloneを実行するため、コピー中はコンピューターを使用できる状態にしておく必要があります。別のクラウドからdosyaのサーバー上でコピーする場合は、別のクラウドからインポートを使ってください。
WebDAV、コピーしたワークスペースのHTTPSアドレス、アカウントのメールアドレス、APIキーを使ってrcloneリモートを作成します。通常のワークスペース接続では、最初のサンプルをAllまたはその下のフォルダーに送ってください。--dry-runでプレビューし、copyを実行してから、転送先と別途ダウンロードしたコピーを確認してください。
始める前に
- 公式ダウンロードページからOSに対応するrcloneをインストールし、ターミナルで
rclone versionが実行できることを確認してください。この手順はmacOSのバージョン1.75.2で確認しました。プロンプトはバージョンによって異なる場合があります。 - dosyaにサインインし、目的のワークスペースを選択してください。ロールでWebDAVと実行予定の操作が許可されている必要があります。
sample-sourceという名前のローカルフォルダーを用意し、安全で中身があり、他と重ならない名前のサンプルファイルを1件入れてください。オリジナルは残してください。このフォルダーを含むフォルダーからコマンドを実行するか、実際の転送元パスに置き換えてください。- 別のテスト用転送先を選んでください。このガイドではワークスペースの既存フォルダー
rclone-checksを使います。必要ならファイル内に作成してください。 - この手順では通常のワークスペースファイルにアクセスします。Vaultには専用の手順があります。
手順:キーとアドレスを準備する
- Profile → API keysで専用キーを作成します。 rclone on this Macなど、分かりやすいラベルを付けてください。アップロードの手順ではフルアクセスを選択してください。この権限ではアカウントに許可された範囲内で移動と削除もできます。一覧表示とダウンロードにはRead onlyで十分です。アップロードのみではフォルダーを参照できません。
- アクセス範囲を制限します。 制限と有効期限を開き、プロトコルで選択したもののみを選び、WebDAVにチェックを入れて目的のワークスペースを選択してください。キーを生成する前に他の制限も確認してください。
- キー全体を非公開で保存します。 キーを生成を選択し、結果のダイアログを閉じる前にコピーしてください。rcloneのパスワード入力欄に入力します。ラベルや保存された接頭辞ではクライアントを認証できません。APIキーの管理をご覧ください。
- ワークスペースのWebDAVアドレスをコピーします。 Integrations → WebDAVを開き、エンドポイントと認証情報の下にあるURL全体をコピーしてください。マウントパス、エンコードされた空白、末尾のスラッシュも含めます。
手順:リモートを設定する
- 設定ウィザードを開始します。
rclone configを実行し、New remoteを選んでdosya-webdavという名前を付けてください。その名前がすでにある場合は別の名前を選び、以下のコマンドでも同じ名前を使ってください。 - バックエンドと認証情報を選択します。 スクリーンショットに表示されたプロバイダーの番号をコピーせず、テキストの選択肢を入力してください。番号は変わることがあります。rcloneのWebDAV設定に従い、次の値を指定してください。
| プロンプト | 入力する内容 |
|---|---|
| Storage | webdav |
| URL | コピーしたdosyaのHTTPSマウントアドレス全体 |
| Vendor | other |
| User | APIキーのオーナーのアカウントのメールアドレス |
| Password | 自分のパスワードを入力する選択肢を選び、APIキー全体を入力して確認 |
| Bearer token | 空欄のままにする |
| Edit advanced config? | 最初の接続ではNo |
| Keep this remote? | Yesを選び、ウィザードを終了 |
入力内容が表示されないパスワード入力欄を使ってください。作成された設定ファイルは非公開にしてください。rcloneのパスワードの難読化は元に戻せるため、設定ファイルを暗号化された秘密情報の保管場所として保護するものではありません。rcloneによる難読化の説明をご覧ください。キーをコマンドの引数、共有する設定例、スクリーンショットに含めないでください。
- リモートとフォルダー一覧を確認します。 次を実行してください。
rclone listremotes
rclone lsf dosya-webdav:
通常のワークスペース接続では、All、Documents、Videos、Images、Shared、Deletedが表示されます。コロンはリモート名とパスを区切ります。フォルダーに制限されたキーではルートが異なります。以下の制限をご覧ください。
手順:サンプルをプレビューしてコピーする
- 両方のパスを確認します。 ローカルの
./sample-sourceフォルダーがターミナルの現在のフォルダーに存在する必要があります。dosya-webdav:All/rclone-checksは書き込み可能なAllコレクションの下のrclone-checksフォルダーを意味します。空白を含むパスは引用符で囲んでください。 - 操作をプレビューします。 次を実行してください。
rclone copy ./sample-source dosya-webdav:All/rclone-checks --dry-run --progress
ファイル名と転送方向を確認してください。ドライランには予定の転送合計や進捗100%が表示されることがあります。Skipped copy as —dry-run is setというメッセージを確認してください。これはプレビューであり、ファイルが届いた証拠ではありません。
- コピーを実行します。 パスとプレビューが正しいことを確認したら、
--dry-runを外してください。
rclone copy ./sample-source dosya-webdav:All/rclone-checks --progress
rclone lsf dosya-webdav:All/rclone-checks
コマンドが完了するまで待ち、エラーを確認してください。copyは転送先の同名ファイルを更新することがありますが、他の転送先ファイルは削除しません。sample-source内のファイルを選択した転送先に配置し、その中に別のsample-sourceフォルダーを追加することはありません。rcloneのcopyリファレンスでこの動作を説明しています。
- dosyaで確認します。 同じワークスペースのFiles → rclone-checksを開き、必要に応じて更新してください。サンプルのファイル名と容量を確認してください。WebDAVのAllコレクションは、ファイル画面の通常のワークスペース階層に対応します。
- 別途ダウンロードしたコピーを確認します。 新しい空のローカルフォルダーを選び、リモートからそこにコピーしてください。
rclone copy dosya-webdav:All/rclone-checks ./sample-download --progress
この方向ではリモートフォルダー内のファイルがダウンロードされます。ダウンロードしたサンプルを開き、目的のファイルであることを確認してください。確認中は転送元のオリジナルを残してください。
想定される結果
目的のサンプルがrcloneの転送先一覧とdosyaのファイルページに表示されます。転送元になかった既存の転送先ファイルはcopyの後も残り、ダウンロードしたサンプルはオリジナルと一致します。
制限と別の操作の選択
- copyとsyncの効果は異なります。
syncは転送先を転送元に合わせて更新し、必要に応じて削除も行います。選ぶ前にドライランを行い、方向と転送先を確認してください。このガイドではcopyを使います。ミラー操作を実行する前にsyncのリファレンスをご覧ください。 - 通常のルートはコレクションのフォルダーです。 Allまたはその下のフォルダーにアップロードしてください。接続ルートとDocuments、Videos、Images、Shared、Deletedは読み取り専用のビューです。
- フォルダーに制限されたルートは異なります。 アンカー付きキーでは許可されたフォルダーの子項目が直接表示され、Allコレクションはありません。確認せずに
All/を追加しないでください。WebDAVのフォルダー制限をご覧ください。 - メタデータの対応状況は異なります。 ベンダーが
otherの場合、rcloneはこれを通常のWebDAVとして扱い、ハッシュや更新時刻の比較機能をすべて使えるわけではありません。dosyaは利用可能な場合、ファイルの日付、ETag、保存されたSHA-256プロパティを提供しますが、このバックエンドがそれらを完全な内容の確認に使うことを意味しません。繰り返し転送するかどうかの判断を信頼する前に、ダウンロードしたサンプルを比較してください。 - 他のバックエンドは設定が異なります。 dosyaのIntegrations → rcloneページではネイティブバックエンドの設定を説明しています。このガイドでは
webdavを選びます。dosya、S3、SFTPのリモートでは認証情報、オプション、パスが異なります。 - copyコマンドは自動でスケジュールされません。 自動ジョブ、マウント、双方向同期にはそれぞれ設定が必要です。この手順ではデスクトップフォルダーの同期ペアは設定されません。
ワークスペースのルール、制限、置き換え
キーでメンバーシップにない権限を付与することはできません。一覧表示にはファイルへのアクセス権が必要です。ダウンロードにはさらにダウンロード権限が必要で、アップロードとフォルダー作成にもそれぞれロールの権限が必要です。キーとロールの両方でWebDAVプロトコルを許可する必要があります。ワークスペースを固定したキーでは別のワークスペースにアクセスできず、フォルダーアンカーはリモートをそのフォルダー階層に制限します。通常のロール権限で操作が許可されていても、ファイルまたは上位フォルダーがロックされているとHTTP 423 Lockedが返されることがあります。
フォルダーに制限された接続では、まずrclone lsf dosya-webdav:を使ってください。rclone-checksがそのルートの子フォルダーであれば、All/を付けずにdosya-webdav:rclone-checksとして指定します。テストフォルダー自体をルートとするキーでは、その内容をdosya-webdav:として指定します。スマートコレクションは通常のマウント上の仮想ビューです。そのルートを書き込み可能なファイルシステムとして同期しないでください。
転送したファイルと同じ名前が選択した実際のフォルダーにすでに存在する場合、現在の内容がそのファイルの新しいバージョンとして置き換えられます。以前のバージョンはストレージを消費し、履歴の制限を受けます。ワークスペースの上限は標準で10バージョンで、設定した上限が正の値でない場合は件数制限がなくなります。無料プランのオーナーの古いバージョンも7日後に削除対象になりますが、最新のものは保持されます。そのため、copyはリモートにのみある項目についてはミラーより安全ですが、同名ファイルが変更されない保証はありません。
アップロードの拡張子ルール、ワークスペースの最大ファイル容量、認証情報やロールの容量制限、利用可能なストレージはWebDAVにも適用されます。リクエストにはContent-Lengthが必要です。長さが不明なストリーミングを試みるクライアントでは、アップロードが使える状態にならずContent-Length header is requiredが返されることがあります。ダウンロードも日次送信量の利用枠を消費します。組み込みの無料プランのフォールバックは日ごとに100 GiBで、有効なプランカタログまたは明示的なキーやロールの制限によって上限が異なる場合があります。プランによる呼び出し数と並行数の上限はWebDAV通信には適用されませんが、明示的なリクエストと転送の並行数の制限は引き続き適用されます。
rcloneの標準設定は4ファイルの並行処理です。--transfers 1でファイル数を減らせますが、それだけでは大きなダウンロードを直列化できません。リモートからローカルへのファイルが並列処理の標準しきい値256 MiBを超える場合、クライアントは1ファイルに4本の範囲ストリームを開くことがあります。dosyaはストリーミングGETごとに転送枠を取得するため、1ファイルでもキーやロールの1枠の制限を超える場合があります。ダウンロードを制御して再試行するには、ファイルごとの並列処理も無効にしてください。
rclone copy dosya-webdav:All/rclone-checks ./sample-download --progress --transfers 1 --multi-thread-streams 0
rcloneの並行ファイル数設定とファイルごとのストリーム設定をご覧ください。これらは同時ダウンロード数を減らしますが、リクエスト頻度や送信量の制限を回避するものではありません。使用量ポリシーが再試行の指示を提供する場合、HTTP 429にはその指示が含まれます。確認のためにダウンロード済みのファイルを再度読み取ると送信量をさらに消費するため、サンプルは小さくしてください。
コピー後はコマンドの終了ステータスをすぐに確認してください。POSIXシェルではecho $?、PowerShellでは$LASTEXITCODEを使います。終了コード0は未解決のコマンドエラーがないことを示し、転送が不要だった場合にも返されます。0以外の状態では、スケジュール済みジョブが実行を完了と扱う前にエラーログを確認する必要があります。rcloneの終了コードと転送の制御をご覧ください。
トラブルシューティング
コマンドが見つからない。 公式のインストール手順で実行ファイルのインストールとPATHを確認してください。PATHを変更した場合は新しいターミナルを開いてください。
リモートが不明、または設定ファイルが見つからない。 コマンドを実行するのと同じアカウントと環境でrclone listremotesとrclone config fileを実行してください。選択した名前、コロン、カスタムの--configパスを確認してください。別のシェル、スケジュール済みジョブ、コンテナーでは別の設定が使われる場合があります。
転送元フォルダーが見つからない。 ターミナルの現在のフォルダーとローカルフォルダーのパスを確認してください。./sample-sourceのような相対パスは現在のフォルダーから解決されます。空白を含むパスは引用符で囲んでください。
認証が拒否される、または繰り返し失敗する。 ウィザードではキーのオーナーのメールアドレスを指定し、パスワード入力欄にAPIキー全体を入力してください。有効期限と失効を確認し、キーを交換した場合はこのリモートを更新してください。加工していないキーを設定のpass欄に直接貼り付けることは、パスワード入力欄での手続きを完了することとは異なります。
アクセスが禁止される、またはアップロードが拒否される。 This API key is not permitted to use WebDAV、This role is not permitted to use WebDAV、Upload not allowed、API key scope ‘read’ cannot upload filesはそれぞれ異なる制限を示します。有効なパスワードは変更せず、対応する設定を確認してください。通常の接続ではスマートビューではなくAllを使ってください。アドレス、スケジュール、使用量、転送先の制限も引き続き適用されます。
証明書エラーが発生する。 コピーしたHTTPSアドレスと目的のホストを確認してください。原因不明の本番環境エラーを解消するために証明書の確認を無効にしないでください。エラーはサポートに非公開で共有してください。
ドライランに100%と表示されるがファイルがない。 ドライランは転送の予定を示すものです。確認済みのcopyを--dry-runなしで実行し、実際の転送先を確認してください。
問題が続く場合は、rcloneのバージョン、バックエンド、操作、エラーを非公開のサポート窓口に送ってください。診断情報から認証情報と非公開のパスを取り除いてください。伏せ字にした設定でも共有前に再確認してください。
よくある質問
WebDAVはdosyaのネイティブバックエンドと同じですか?
異なるrcloneバックエンドです。このガイドではtype = webdav、ワークスペースのWebDAVアドレス、通常のルートに対するAllパスを使います。
copyはdosyaにのみあるファイルを削除しますか?
copyは他の転送先ファイルを残します。ただし、同名ファイルは更新することがあります。syncには削除動作があるため、その操作は別途確認してください。
Allが見つからない場合はどこにアップロードしますか?
キーまたはワークスペースのメンバーシップがフォルダーに制限されているか確認してください。許可されたフォルダーがルートとなるため、その子項目が直接表示されます。
関連ガイド
この記事は役に立ちましたか?
評価の結果を読み込んでいます…
投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。
質問と回答
このガイドの手順について質問できます。質問は確認後に公開されます。
公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。
質問を読み込んでいます…
dosyaアカウントにサインインすると、質問を投稿できます。