HAYAGUI

FreeBSD 4.4 + date,ntpdate,ntpd

はじめに

システムクロックを設定する date , ntpdate , ntpd をやってみます。 各々、以下のような機能です。詳しくは man を見てね。

date
システムクロックを表示、任意の日時に設定することができます。

ntpdate
ntpサーバから時間を取得して、ローカルのシステムクロックを設定します。 0.5秒以上ずれている時は単純に時間を合わせますが、0.5秒以下の時は微調整します。 ntpdate は、後から説明する ntpd が動いている時は、使用できません。

ntpd
ntpd は、ntp サーバを参照してシステムクロックを補正しながら、 クライアントへ時間を提供します。

date

date で、現在のシステムクロックを表示します。
chaco# date
Sun Apr 21 12:58:26 JST 2002
日本語表示の場合は、こんな感じになります。
chaco# date
2002年 4月21日 日曜日 12時58分26秒 JST

設定は、date yymmddHHMM というフォーマットを使用します。

yy 西暦の下2桁。2002 の場合は、02
mm 月の数字。4月の場合は、04
dd 日の数字。21日の場合は、21
HH 時間の数字。24時間表記。12時の場合は、12
MM 分の数字。58分の場合は、58

たとえば、こんな感じの数字を設定すると、このようになります。曜日は自動で設定されます。

chaco# date 0102030405
Sat Feb  3 04:05:00 JST 2001
日付は省略できます。
chaco# date 1234
Sun Apr 21 12:34:00 JST 2002
ちなみに、cal でカレンダー表示ができます。
chaco# cal
     April 2002
Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
cal 1970 を実行すると、1970 年のカレンダーが表示されます。 cal 1 1 を実行すると、1 年 1 月のカレンダーが表示されます。
chaco# cal 1 1
       1月 1
日 月 火 水 木 金 土
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

ntpdate

ntpdate は、FreeBSD 4.4 にインストール済みです。 以下のような場所にあります。
chaco# which ntpdate
/usr/sbin/ntpdate
chaco# ls -la /usr/sbin/ntpdate
-r-xr-xr-x  1 root  wheel  32392 Sep 19  2001 /usr/sbin/ntpdate
パブリックな ntp サーバの clock.nc.fukuoka-u.ac.jp 133.100.9.2 を設定して、時間を取得します。
public ntp server list : http://www.eecis.udel.edu/~mills/ntp/servers.html

こんな感じに設定することができます。(当然、root で。)

chaco# ntpdate 133.100.9.2
21 Apr 15:27:35 ntpdate[239]: adjust time server 133.100.9.2 offset -0.026094 sec
OS 起動時に ntpdate を実行するには、/etc/rc.conf に追加します。

# add ito 2002/04/21
ntpdate_enable="YES"
ntpdate_program="ntpdate"
ntpdate_flags="-s -b 133.100.9.2"
再起動すると、起動時のメッセージに ntpdate と表示されるはずです。
Doing additional network setup: named ntpdate portmap.

ntpd

ntpd は、FreeBSD 4.4 にインストール済みです。 以下のような場所にあります。
chaco# which ntpd
/usr/sbin/ntpd
chaco# ls -la /usr/sbin/ntpd
-r-xr-xr-x  1 root  wheel  202496 Sep 19  2001 /usr/sbin/ntpd

OS 起動時に ntpdate を実行するには、/etc/rc.conf に追加します。

# add ito 2002/04/21
xntpd_enable="YES"
xntpd_program="ntpd"
xntpd_flags="-p /var/run/ntpd.pid"
-p オプションは、ntpdデーモンのプロセス ID を記録するためのファイル名とパスを指定します。

ntp の設定ファイル (ntp.conf) を、/etc に作成します。

server          133.100.9.2   # clock.nc.fukuoka-u.ac.jp 
server          133.100.11.8  # clock.tl.fukuoka-u.ac.jp 
server          211.9.226.25  # ntp1.wakwak,com
driftfile       /etc/ntp.drift
driftfile とは、時間誤差値を保存して置くファイルです。 /etc/ntp.drift を作成。
chaco# touch /etc/ntp.drift
OS を再起動する。

ntpd の動作を確認する為、ntpq を実行します。 * があるのが、現在同期する対象のサーバ名です。

chaco# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*clock.nc.fukuok .GPS.            1 u  228  256  377  116.670  -110.71  41.277
+clock.tl.fukuok .GPS.            1 u  177  256  377  117.227  -101.18  34.259
+ntp1.wakwak.com ntp1.xephion.ne  3 u  238  256  377   78.622  -112.11  44.346

戻る



(C)1999 - 2002 Kenji Ito All rights reserved.