web-dev-qa-db-ja.com

ctrl-cでrsyncを中断します。`--partial`または `--append`を使用する必要がありますか?

rsyncctrl-cで中断し(ファイルの半分が転送された後で)、すでに転送されたデータを再送信せずに再開したいと思います。

私が見つけたstackexchange/google情報は矛盾しているようです。 --partialを使うと言う人と--appendを使うと言う人を見つけました。私には、どちらも機能するように思えます。

ctrl-cでrsyncを中断したい場合、--partialまたは--append?を使用する必要がありますか?

両方が機能する場合、どちらを使用する方が良いですか?

14

再起動します、 --partial 十分なものです。使用する --inplace本当にrsyncに、既存のコピーされたデータと新しいデータをマージする一時ファイルを作成させたくない場合。たとえば、rsyncにアクセス許可の問題があり、ターゲットに一時ファイルを作成する場合フォルダ。

--append部分的にコピーされたデータがソースと同一であることを保証できる場合。 (通常、これは誤った最適化です。)

8
roaima
  • --appendは、ファイルが宛先にすでに存在している可能性があると想定します。これにより、rsyncはすでにそこにあるコンテンツをチェックしません(ただし、以下を参照)。
  • --partialは、部分的に転送されたファイルを削除しないようにrsyncに指示します。

また、--inplace--partialが必要です(--appendで暗黙的に示されます)。

--inplaceは実際には--partialを意味することが判明しました。これが--appendで十分な理由です(--inplace--partialを意味します)。ただし、--partialだけでは十分ではなく、--inplaceが必要です。それ以外の場合、rsyncは最終ファイルを更新する代わりに一時ファイルを作成します。

3
spuk