rsyncに復元するときにいくつかの古いファイルを保持する

rsyncに復元するときにいくつかの古いファイルを保持する

私はしばしばrsyncと次のコマンドを使用してリモートサーバーから大容量ファイルを転送します。

rsync -rvhm \
    --progress \
    --size-only \
    --stats \
    --partial-dir=.rsync-partial \
    "user@server::module/some_path" "some_path"

some_pathこれにより、転送が失敗しても後で再開でき、すべての部分転送がsome_path/.rsync-partial

転送が再開されたら、最初にrsyncをチェックして、再開する場所を正確に決定することをお勧めします。問題は、このスキャンが完了すると一部のファイルがコピー.partial-rsync履歴書フォルダ外。したがって、進行中の転送だけでなく、部分的な転送(次に一時停止または転送が完了すると置き換えまたは削除されます)も残ります。

これは次の理由で不便です。

  1. 目的地に余裕がない。
  2. ファイルがかなり大きいです。
  3. 部分的な転送が「十分に」進行している場合、rsyncは最初にコピーを試み、復元に使用できるスペースが不十分であると文句を言うため、復元できない可能性があります。
  4. 転送を再開するために部分ファイルのコピーを保持する理由はありません。部分ファイル自体を使用する必要があります。

この動作を回避する方法はありますか?それとも意図的に設計されていますか?それでは、なぜこのように動作したいのですか?

ベストアンサー1

--inplaceこれらのコピーを防ぐために、このオプションを組み合わせることができるパッチがありますが、--partial-dirそれでも可能ではないようです。

引用するエラー13071詳しくは説明をご覧ください。

--inplaceを--partial-dirまたはそれを暗示するオプション(--delay-update)と組み合わせて使用​​すると、内部動作は部分ディレクトリで発生し、各ファイルは完了すると最終ターゲットに移動されます。 。

残念ながら、これまでパッチは適用されていません。

おすすめ記事