[samba-jp:20690] Re: ファイル更新時刻の精度
HAT
hat @ fa2.so-net.ne.jp
2009年 5月 21日 (木) 12:30:13 JST
HATです。
>Linux (Fedora 10) 上で samba を動かし、ファイルサーバとして使っています。
>
>Windows 上で更新されたファイルだけをコピーしようと、
>MicroSoft の SyncToys その他フリーのバックアップツール、
>ファイラー等を試してみたのですが、Windows 上でファイルを
>更新していないにも関わらず Windows 上のファイルが新しいと
>判断されて毎回ファイルのコピーが行われます。
>
>Windows / Linux の両者のファイルのタイムスタンプを比較してみると、
>Linux 上でミリ秒未満が切り捨てられているため、
>何度コピーしても Windows 上の方が新しいと判断
>されていると思うのですが、これは samba の仕様でしょうか?
>それとも OS の制限でしょうか?
sambaの実装がどうなっているのか良く知らないのですが、
ファイルシステムによってタイムスタンプの分解能が違いますね。
Wikipediaあたりで調べると、
FAT 2.000000000 2s
ext3 1.000000000 1s
NTFS 0.000000100 100ns
XFS 0.000000001 1ns
ext4 0.000000001 1ns
>Linux 上
>> ls --full-time *
>> -rwxr--r-- 1 emo emo 5120 2009-05-20 12:26:33.272621000 +0900 001*
>> -rwxr--r-- 1 emo emo 5120 2009-05-20 12:26:33.350625000 +0900 002*
>> -rwxr--r-- 1 emo emo 5120 2009-05-20 12:26:33.428628000 +0900 003*
しかし、この結果だと、
XFS 0.000001000 1us
ということになる。sambaの制限?
>ミリ秒未満の更新時刻を保存する方法があれば教えてください。
>また、何か他に更新されたファイルだけコピーを行う
>方法がありましたらアドバイスをお願いします。
RealSyncというバックアップツールを使ってますが、
「NTFS-FAT間の誤差対応」
というオプションがあって、これを有効にしておくと2秒以内のずれは
更新されません。
http://www.takenet.or.jp/~ryuuji/realsync/
>OS: Fedora 10
>Kerenel : 2.6.27.21-170.2.56.fc10.x86_64
>samba : samba-3.2.11-0.30.fc10.x86_64
>ファイルシステム : XFS
Fedora11でデフォルトになるext4だと、タイムスタンプの分解能は
1nsなので、NTFSよりも細かいです。
Fedora 10でもext4は使えるのですが、実際に問題なく運用できるか
どうかは知りません。
--
HAT
samba-jp メーリングリストの案内