■目的
 Xcopyの更新ファイルコピー指定で非更新ファイルまでコピーされます。
 対応をメモします。

■Xcopy
 XcopyでDドライブ内データをNASにバックアップ中です。
 本来なら更新ファイルのみコピーのはずが更新のないファイルが多数いつもコピーされます。
 xcopy D:\Documents Y:\BK /S /E /D /C /Y /R
■環境
 コピー元:クライアント/Windows/NTFS
 コピー先:NAS/Linux/Sambaサーバー/EXT

■要因
 以下の情報源によればNTFSとEXT3,EXT4のタイムスタンプ精度が異なります。
 またSambaではdos filetime resolutionでタイムスタンプ調整機能がサポートされているようです。
 これによりWindows上とSambaで動くNASでタイムスタンプの相違が発生するのは容易に推定できます。
 「ファイル更新時刻の精度」はこちら
 「SambaでLinuxへファイルをコピーすると更新日時が変更さ れ現在時刻になってしまう」はこちら

■対応
 XcopyをRobocopyに変更して/fftオプションでタイムスタンプの相違2秒を吸収することで解消しました。
 以下はサンプルです。
 robocopy D:\Documents Y:\BK /S /E /XO /FFT
■結果
 問題点はrobocopyで解消できました。
 タイムスタンプベースの処理は転送元/転送先でファイルシステムの異なるケースでは避けるべきです。
 robocopyではタイムスタンプではなくアーカイブビットでのバックアップを検討予定です。

  blog      MovableType