Rsyncインクリメンタルアップデート、最初のNブロック(または%)をスキップする

Rsyncインクリメンタルアップデート、最初のNブロック(または%)をスキップする

私は非常に大きな「ほとんどの追加専用」ファイルをたくさん持っています(最後の数バイトが毎日変更されることを意味します)。

-B, --block-size=BLOCKSIZEブロックの増分を確認する方法を知っています。

最初のNブロックをスキップすることは可能ですか(またはブロックの99%からチェックを開始しますか?)

答え1

開始ブロック番号を指定することはできませんが、オリジナル--appendあなたの質問に対してソースファイルが拡張され、上書きされないことを保証できる場合は、このオプションを使用できます。

文書(man rsync)から

--appendこの特別なコピーモードは、増加することが知られているファイルを効率的に更新するためだけに適しています。ここで、受信側の既存のコンテンツは送信側のコンテンツと同じであることが知られている。--append転送中のすべてのファイルが共有され、ファイルが増えるかどうかを100%確信できない場合は、この方法を使用するのは危険です。したがって、フィルタリング規則を使用して、この基準を満たさないファイルを削除する必要があります。

「そうでなければrsync使用しないでください。--append最後の数バイトが変更されました。ネットワーク経由でコピー(rsync -a path/to/source remoteHost:path/to/destination)すると、各実行時にソースと宛先の完全なファイル読み取りを取得できますが、ブロックごとにチェックサムのみがrsyncあり、変更されたブロックは残念ながら実際にネットワーク経由で送信されます。ローカルコピー()を実行するrsync -a path/to/source path/to/destinationと、ファイルサイズが変更されるとファイル全体がコピーされます。

関連情報