[samba-jp:20691] Re: ファイル更新時刻の精度

EMOTO Masahiko emo @ nifs.ac.jp
2009年 5月 21日 (木) 15:15:47 JST


HAT さんは書きました:
> HATです。
>
>
>   
> 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の制限?
>   

ミリ秒ではなく、マイクロ秒でしたね。
失礼しました。

ご指摘の通り XFS では解像度 1ns のはず
なのですが、samba 経由で書き込んだときは
1us 未満は切り捨てられているようです。

実際 samba 以外で書き込んだファイル
には 1ns 単位で更新時刻が記録されています。

>% touch a
>% ls --full-time a
>-rw-r--r-- 1 emo emo 430 2009-05-21 15:15:54.994986258 +0900 a


>   
>> ミリ秒未満の更新時刻を保存する方法があれば教えてください。
>> また、何か他に更新されたファイルだけコピーを行う
>> 方法がありましたらアドバイスをお願いします。
>>     
>
> RealSyncというバックアップツールを使ってますが、
> 「NTFS-FAT間の誤差対応」
> というオプションがあって、これを有効にしておくと2秒以内のずれは
> 更新されません。
> http://www.takenet.or.jp/~ryuuji/realsync/
>
>   
紹介ありがとうございます。
自分でもあれから探してみたのですが、FastCopy というツールがあり、
対象のファイルシステムをチェックしてNTFS 以外の場合は誤差を
許容して比較するという処理を行っているようです。(ソースファイルも付属し
ていました)

http://www.ipmsg.org/tools/fastcopy.html


江本







samba-jp メーリングリストの案内