WindowsでcwRsync 5.4.1 x86 Freeを使用しており、フォルダーをネットワークドライブに同期しようとしています。次のコマンドを実行します。
rsync.exe -rLtv --delete --ignore-errors "/cygdrive/d/1/" "/cygdrive/z/ZipNB/"
D はローカル ドライブ、Z はネットワーク ドライブ (ルーター、RT-N16 に接続された外付け HDD) を数回実行しても同じ結果が得られます。
>rsync.exe -rLtv --delete --ignore-errors "/cygdrive/d/1/" "/cygdrive/z/ZipNB/"
sending incremental file list
./
1.pdf
sent 11,893,922 bytes received 38 bytes 1,829,840.00 bytes/sec
total size is 11,890,918 speedup is 1.00
フォルダーに1つのファイルがあり、実行ごとにそのコンテンツを送信します。ファイルは毎回同じで、途中で変更されていません。
追加のパラメーター --size-only を追加すると、期待どおりに機能します。
>rsync.exe -rLtv --delete --ignore-errors --size-only "/cygdrive/d/1/" "/cygdrive/z/ZipNB/"
sending incremental file list
./
sent 72 bytes received 22 bytes 188.00 bytes/sec
total size is 11,890,918 speedup is 126,499.13
両方のディレクトリの DIR:
D:\1>dir
Volume in drive D is XXX
Volume Serial Number is XXXX-XXX
Directory of D:\1
08.12.2016 10:04 <DIR> .
08.12.2016 10:04 <DIR> ..
24.11.2016 18:31 11 890 918 1.pdf
1 File(s) 11 890 918 bytes
Z:\ZipNB>dir
Volume in drive Z is BackUp (at Portable)
Volume Serial Number is XXXX-XXX
Directory of Z:\ZipNB
08.12.2016 10:04 <DIR> .
08.10.2016 20:40 <DIR> ..
24.11.2016 18:31 11 890 918 1.pdf
1 File(s) 11 890 918 bytes
よくわかりませんが、デフォルトでrsyncが変更時間とサイズによってファイルの検証を行うことを知っているためです。両方のファイルは同一のようです。しかし、何らかの理由で cwRsync が Z ドライブのファイルの変更日を間違って取得/設定しているようです。両方のディレクトリがローカル ドライブにある場合、cwRsync は正しく機能します。ネットワークドライブでのみ発生します。
Windows のプロパティでは、1 秒あたりの変更時間に違いがあり、これが問題を引き起こす可能性があります。
出力を簡単にするために、例として1つのファイルのみを取り上げました。状況は同じで、さまざまなファイルがいくつあっても同じです。常に各ファイルの完全なコンテンツを送信します。ここで何が間違っている可能性があり、どうすれば修正できますか?