ディレクトリ比較では、1時間±2秒の時間差は無視されます。

ディレクトリ比較では、1時間±2秒の時間差は無視されます。

私はしばしばAndroid携帯電話とLinux PCの間で音楽フォルダを同期したいと思います。携帯電話のファイルはFAT32を使用してSDカードに保存され、WindowsノートブックまたはLinuxデスクトップからインポートできます。メタデータだけを比較したいです。それ以外の場合は、コンテンツの比較に時間がかかります。

Meldまたはrsyncを使用して違いを見つけると、誤った肯定が発生します。これは、FAT32がファイル時間を2秒の解像度とローカル時間(イギリス時間)で保存するのに対して、Linuxではファイルの変更時間がサブフォルダに保存されるためです。 -滞在。 2番目の解像度とUTC。そのため、冬にSDカードにコピーしたファイルを見ると、今は夏であり、その逆の場合も、正確に1時間(精度は2秒)の時差がわかります。

フォルダをスキャンしてファイル時間が2秒間隔である場合、または59m58sから1h00m02sの間で同じと見なすことができるツールはありますか?

答え1

これにより、rsync時間を完全に無視できます--ignore-times

または、タイムスタンプが特定の秒(3602の場合は1時間+ 2秒)だけ異なることを許可します--modify-window=3602(タイムスタンプが30分ずつ異なるファイルもこのウィンドウに属することに注意してください)。

3番目のオプションは、上記の時間を無視し(サイズのみを考慮することもできます--size-only)、その時間をチェックサム計算に強制することです--checksum

答え2

--modify-windowオプションの使用同期2秒の解像度を平坦化します。

  --modify-window=NUM, -@
       When comparing two timestamps, rsync treats the timestamps
       as being equal if they differ by no more than the modify-
       window value.  The default is 0, which matches just
       integer seconds.  If you specify a negative value (and the
       receiver is at least version 3.1.3) then nanoseconds will
       also be taken into account.  Specifying 1 is useful for
       copies to/from MS Windows FAT filesystems, because FAT
       represents times with a 2-second resolution (allowing
       times to differ from the original by up to 1 second).

答え3

fdupes重複ファイルを見つけて削除できるコマンドラインプログラムを使用できます。オプションで、指定された時間(秒)の修正時間差を無視できます。を使用するには、fdupes次のコマンドを実行します。

fdupes -r -S -T2m /path/to/directory1 /path/to/directory2

最大2分の時間差を無視しながら、両方のディレクトリで重複フ​​ァイルを繰り返し検索します。

dirsyncpro(ファイルとフォルダを同期してバックアップするためのクロスプラットフォームプログラム)を使用して、新しいプロファイルを作成し、ソースディレクトリとターゲットディレクトリを設定することもできます。次に、[オプション]タブに移動してオプションの比較を選択します。 「時間」セクションで「視差を無視」オプションを選択し、範囲を59分58秒から1時間00分2秒の間に設定できます。

関連情報