私の理解rsync
(完全に間違っている可能性があります)は、最初に試してみることです。読むファイル(存在する場合はソースとターゲット)は、ターゲットに何かを書き込もうとする前に比較されます(読み取りよりも遅いことを願っています)。私のホームディレクトリのバックアップを同期するためにrsyncを実行していますが、ソースディスクとターゲットディスクからの多くの読み取りが表示されるのではなく(以前のrsync実行後)、ソースとターゲットからの書き込みがたくさん表示されます。ディスクを入力してください。目的地ディスク、これはまったく予期しなかったことです。 rsyncは常にこのように動作しますか?
もし私が使用する方法は次のとおりです。
rsync --delete -r /home/my-home /mount-point-other-disk/
答え1
rsync
ローカルディスクからローカルディスクにコピーしています。これにより、多くの最適化が解放され、ほぼ単純になりますcp
。
--times
また、()フラグを含まないことで-t
残りの最適化を解除しました。つまり、まったく同じになりますcp
。
rsyncの私の理解(完全に間違っている可能性があります)は、ターゲットに何かを書き込もうとする前に、最初に比較のためにファイル(ソースとターゲットが存在する場合)を読み取ろうとすることです(読み取りよりも速いと予想されます) )。 。
rsync
これは、2つのシステム間のネットワーク経由でコピーする場合にのみ発生します。
ターゲットディスクに多くの書き込みが表示されます。
これはrsync
、ターゲットファイルに関する情報を想定できないため、バックアップを試みるたびにそのファイルを上書きするためです。
説明する:
理想的には、rsync
自分自身をクライアントとして実行し、リモートシステムでサーバープロセスを起動することです。ターゲットファイルがターゲットにすでに存在していると仮定すると、両方のプロセスはそれぞれローカルコピーを読み取り、チェックサムブロックを介してファイルのどの部分が異なるかを識別します。その後、これらの違いがネットワークを介して送信され、ターゲットファイルが更新されます。 (これはスライディングチェックサムなので、転送される唯一のチャンクであるファイルの先頭にバイトを挿入することもできます。)
rsync
しかし、単一システムで読取りと書込み自体を管理する場合、読取りと書込みに同じ時間がかかると仮定します。 (これはフラッシュの場合は必ずしもそうではありませんが、一緒に機能します。)したがって、ソースファイルとターゲットファイルを比較するために読み取るには、ターゲットを更新する書き込みを考慮するまでにかかる時間がほぼかかります。ターゲットファイルを再作成する必要があるため、そうします。
考えられる解決策:
NASに書き込む場合は、ローカルにマウントされたNASファイルシステムに書き込まないでください。代わりに、
rsync
プロトコルを使用してネットワークを介してNASに直接書き込むか、ssh
NASにリモートでログインしてその接続を介してデータを転送します。この場合、次のようなコマンドラインが必要です。rsync -a --delete -M--fake-super /home/my-home remoteNAS:/path/to/mount-point-other-disk/
ローカルに接続されている2つのディスク間で読み取り/書き込みを行う場合は
--times
(-t
)オプションが含まれ、コピーされたとrsync
思われるファイルを無視することができます。rsync -a --delete /home/my-home /mount-point-other-disk/ rsync -rt --delete /home/my-home /mount-point-other-disk/
1つ目はすべてのメタデータをコピーするため、NTFSやFATなどのLinux以外の基本ファイルシステムへの書き込みには適していません。 2番目はファイルをコピーしますが、最後の変更時間だけを保持します(権限または所有権はありません)。 FATファイルシステムに書き込む場合は、2秒精度のタイムスタンプしかキャプチャできないので、あまり期待しないように
rsync
注意してください。rsync -rt --modify-window 1 --delete /home/my-home /mount-point-other-disk/