ctrl-cでrsyncを停止するには、 `--partial`または `--append`を使用する必要がありますか?

ctrl-cでrsyncを停止するには、 `--partial`または `--append`を使用する必要がありますか?

rsync中断して(ctrl-cファイル転送の半分後)、転送されたデータを再送信する必要なく再起動したいと思います。

私が見つけたstackexchange / google情報がクラッシュしているようです。私は何人かの人々はuseと言い、--partial何人かの人々はuseと言うのを見つけました--append。私にとっては、それらがすべて機能できるように聞こえます。

ctrl-cを使用してrsyncを停止するには、--partialまたはを使用する必要がありますか--append

どちらも動作する場合は、いつ他のものよりも1つを使用する方が良いですか?

答え1

再起動--partialで十分です。既存のレプリケートされたデータを新しいデータとマージする一時ファイルを作成したく--inplaceない場合rsync(たとえば、rsyncターゲットフォルダに一時ファイルを作成する際に権限の問題が発生した場合など)を使用します。

--append部分的にコピーされたデータがまだソースと同じであることを保証できる場合にのみ使用してください。 (しばしばこれは誤った最適化です。)

答え2

  • --appendファイルがターゲットにすでに存在する可能性があると仮定すると、rsyncはすでに存在するエントリをチェックしません(下記参照)。
  • --partial部分的に転送されたファイルを削除しないようにrsyncに指示します。

--inplacewithも必要です--partial(に暗黙的に含まれています--append)。

--inplace実際にはを暗示することがわかりましたが--partial、これがまさに--append十分な理由です(を--inplace暗示することを暗示します--partial)。しかし、--partialそれだけでは十分ではありません。それ--inplace以外の場合、rsync は最終ファイルを更新する代わりに一時ファイルを生成します。

関連情報