単一ファイルのrsyncが動作しているように見えますが、実際には何もしませんか?

単一ファイルのrsyncが動作しているように見えますが、実際には何もしませんか?

ファイルシステムがいっぱいになり、5GB cp 操作が失敗します。ファイルシステムのサイズ変更後、rsyncを使用して単一のファイルコピーを復元しようとしました。

$ rsync --progress /source/bigfile ./bigfile

しかし、奇妙なことに、ファイルがすでにそこにあることに気づかず、最初から始めているようです。しかし、ファイルをどこに保存するのか教えてくれません。

大きなファイルを別の場所に移動してrsyncを再起動すると、ファイルは表示されません!

$ mv bigfile bigfile-away
$ rsync --progress /source/bigfile ./

rsyncが再コピーされているようですが、ファイルが表示されるのを見ることはできません。

これは変です!

答え1

同じシステムの2つの部分間でコピーしています(または少なくともそうですrsync)。これにより、ほとんどの最適化機能が無効にrsyncなり、再びcp

できれば保証するファイルに変更はなく、そのまま使用できます--append。中断可能なコピーの場合は望むかもしれません。--partial

--times()を使用してファイルのタイムスタンプを保存できます。-tこれは使用したいと思われます--inplace(フラグはこれを意味します--append)。

rsync -tvP --append /source/bigfile ./bigfile

ファイルをコピーすると、通常は一時rsyncファイル名に書き込まれ、すぐに正しいファイル名に移動されます。ファイル名はドットで始まるので、次のように分類されます。隠された;で見ることができますls -A。また、--partial(partial)フラグがないと、-P不完全なファイルがターゲットから削除されます。

関連情報