[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 メーリングリストの案内