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