rsyncが私のファイルが違うと言う理由を教えてもらえますか?

rsyncが私のファイルが違うと言う理由を教えてもらえますか?

私はrsyncを使用してNASからリモートサーバーにファイルを同期しています。リモートサーバー上のファイルは、ソースと同じユーザー、グループ、および権限を持つように見えます。ただし、rsyncはとにかくファイルをコピーしようとします。

私のNASからリモートサーバーへの出力は次のとおりです。

root@omv:/share/Music# rsync -auHs --dry-run --progress --itemize-changes --numeric-ids -e ssh /share/Music/Bond/Born user@somedomain:/home/user/media/Music/Bond/Born
sending incremental file list
cd+++++++++ Born/
<f+++++++++ Born/01 Bond - Quixote.flac
<f+++++++++ Born/02 Bond - Winter.flac
<f+++++++++ Born/03 Bond - Victory.flac
<f+++++++++ Born/04 Bond - Oceanic.flac
<f+++++++++ Born/05 Bond - Kismet.flac
<f+++++++++ Born/06 Bond - Korobushka.flac
<f+++++++++ Born/07 Bond - Alexander The Great.flac
<f+++++++++ Born/08 Bond - Duel.flac
<f+++++++++ Born/09 Bond - Bella Donna.flac
<f+++++++++ Born/10 Bond - The 1812.flac
<f+++++++++ Born/11 Bond - Dalalai.flac
<f+++++++++ Born/12 Bond - Hymn.flac
<f+++++++++ Born/13 Bond - Victory (Mike Batt Mix).flac
<f+++++++++ Born/Folder.jpg
root@omv:/share/Music#

NASのチェックサムは次のとおりです。

root@omv:/share/Music# sha256sum 'Bond/Born/'*
d510925c0cba8b01b4d95935248ef5b863e4ed9a7e8c7e537b3acbd18767c882  Bond/Born/01 Bond - Quixote.flac
5dd40480fdc1ca7d20bfa3696c99a8b918636be2af7e59101d4cd9b04726dd44  Bond/Born/02 Bond - Winter.flac
b0c1236caf10c1a4c04ee4cce16d9b2d47e6a5fecfcc8fabd513c585a4156039  Bond/Born/03 Bond - Victory.flac
4348e1502c36b0824742e4c47544efee2b3040626fdd94f937634b55c6736c1f  Bond/Born/04 Bond - Oceanic.flac
8e8bbf0817d1625a183547b31e60d9677bb454d18bb6c2b14ed7729a8acb4627  Bond/Born/05 Bond - Kismet.flac
19b0ea2b2f2ad45bb3cee3876037b238fa9a5915eccf44c766262de17085ff33  Bond/Born/06 Bond - Korobushka.flac
37fa58c31263aeb475ace4760b86d26fbf130a47bf80e51c61b4b2e0e003fa07  Bond/Born/07 Bond - Alexander The Great.flac
6ad69fe39d57b7be43538c36a674ed89492d805087319a386bb8ddda78ae364e  Bond/Born/08 Bond - Duel.flac
ae3de5d17b1ad56ce1d6ef7323532c015f863ab1548c198cdac41386e56c46d3  Bond/Born/09 Bond - Bella Donna.flac
ab85604b04ad72cc01a886d61b437354ee2eb058fe5d1188199c360445d4c926  Bond/Born/10 Bond - The 1812.flac
6babc0a824b42375efa5d584dd1662687022f9830d16c70504b2e1b86c17e71a  Bond/Born/11 Bond - Dalalai.flac
11f2ad493c5c0d8beee89a00e9502010421579cffc941fe3d1e72cdd70a5f12b  Bond/Born/12 Bond - Hymn.flac
b15ad119dfd14a76d5fd47ce5993a6ebccec10171f1e58f5238bf830f05a3134  Bond/Born/13 Bond - Victory (Mike Batt Mix).flac
537e3ab0f6cf762319e36b19a786951d507d66dc26ea6409f4000cac508a58ab  Bond/Born/Folder.jpg

リモートサーバーのチェックサムは次のとおりです。

user@10:~/media/Music$ sha256sum 'Bond/Born/'*
d510925c0cba8b01b4d95935248ef5b863e4ed9a7e8c7e537b3acbd18767c882  Bond/Born/01 Bond - Quixote.flac
5dd40480fdc1ca7d20bfa3696c99a8b918636be2af7e59101d4cd9b04726dd44  Bond/Born/02 Bond - Winter.flac
b0c1236caf10c1a4c04ee4cce16d9b2d47e6a5fecfcc8fabd513c585a4156039  Bond/Born/03 Bond - Victory.flac
4348e1502c36b0824742e4c47544efee2b3040626fdd94f937634b55c6736c1f  Bond/Born/04 Bond - Oceanic.flac
8e8bbf0817d1625a183547b31e60d9677bb454d18bb6c2b14ed7729a8acb4627  Bond/Born/05 Bond - Kismet.flac
19b0ea2b2f2ad45bb3cee3876037b238fa9a5915eccf44c766262de17085ff33  Bond/Born/06 Bond - Korobushka.flac
37fa58c31263aeb475ace4760b86d26fbf130a47bf80e51c61b4b2e0e003fa07  Bond/Born/07 Bond - Alexander The Great.flac
6ad69fe39d57b7be43538c36a674ed89492d805087319a386bb8ddda78ae364e  Bond/Born/08 Bond - Duel.flac
ae3de5d17b1ad56ce1d6ef7323532c015f863ab1548c198cdac41386e56c46d3  Bond/Born/09 Bond - Bella Donna.flac
ab85604b04ad72cc01a886d61b437354ee2eb058fe5d1188199c360445d4c926  Bond/Born/10 Bond - The 1812.flac
6babc0a824b42375efa5d584dd1662687022f9830d16c70504b2e1b86c17e71a  Bond/Born/11 Bond - Dalalai.flac
11f2ad493c5c0d8beee89a00e9502010421579cffc941fe3d1e72cdd70a5f12b  Bond/Born/12 Bond - Hymn.flac
b15ad119dfd14a76d5fd47ce5993a6ebccec10171f1e58f5238bf830f05a3134  Bond/Born/13 Bond - Victory (Mike Batt Mix).flac
537e3ab0f6cf762319e36b19a786951d507d66dc26ea6409f4000cac508a58ab  Bond/Born/Folder.jpg
user@10:~/media/Music$

すべてのチェックサムは問題ないようですが、rsyncがまだファイルをリモートサーバーにコピーしたいのはなぜですか?

ティア

答え1

テスト実行デルタ出力のsは<ファイルが転送されることを示し、+sはファイルが再生成されることを示します。これは、ファイルがターゲットに存在しないことを示します。

あなたの目標仕様はuser@somedomain:/home/media/Music/Bond/Bornしかし、あなたは私たちに次のことを示しました:

user@10:~/media/Music$ sha256sum 'Bond/Born/'*

ここでは~ホームディレクトリを表します。で再確認できますecho ~。ホームディレクトリではない可能性があります/home。その可能性が高いため、ターゲットの/home/user仕様はこれと同じuser@somedomain:/home/user/media/Music/Bond/Bornか、user@somedomain:media/Music/Bond/Bornリモートサーバーの相対パスを使用してsshdホームディレクトリに移動するため、これはリモートサーバーの相対パスのホームディレクトリになります。 。

また、ソース仕様( )が 。ターゲットディレクトリにディレクトリを作成するように要求する/share/Music/Bond/Bornことで終わらないため、作成を試みることになります。/rsyncBorn/home/media/Music/Bond/Born/Born

マンページで次の重要な段落を参照してくださいrsync

ソースの末尾のスラッシュは、ターゲットに追加のディレクトリレベルが生成されないようにこの動作を変更します。/ ソースの末尾を「名前でディレクトリをコピー」ではなく「このディレクトリの内容をコピー」と考えることができます[...]

したがって、コマンドは次のようにする必要があります。

rsync -auHs --dry-run --progress --itemize-changes --numeric-ids -e ssh \
      /share/Music/Bond/Born/ \
      user@somedomain:/home/user/media/Music/Bond/Born

関連情報