トップ 最新

ただのにっき

2000-06-26(月) [長年日記]

ntp

今日は懸案だったNTPによる時刻の自動設定に挑戦。けっこう時刻が狂っていることに気づいていたんだけど、手動で直すにもdateコマンドの時刻指定のフォーマットがいつまでたっても覚えられないわ、ハードウェアクロックの設定をするコマンドhwclockの名前も思い出せないわ(歳か?)。

まず、職場で使ってるマシンは、社内にNTPサーバーがあるのでそれを利用することに。KondaraのCD-ROMから、xntp3-5.93-13k1.i586.rpmをインストールして、/etc/ntp.confのserverで始まっている行を書き換えて、社内NTPサーバーを指定する。以上。あとは/etc/rc.d/init.d/xntpd startでdaemonを実行する。こいつの動作状況はntpq -pでわかる。……と、これくらいはWWWで検索するだけですぐにわかるんだな。便利な時代だ。

問題は自宅の方で。ダイヤルアップルーターを使ったPPP接続なので、xntpdを動かしておくわけにはいかない。ということは、適当な間隔でntpdateを実行させてやることになる。cronの出番ですな。ついでにKondaraのcronがどうなってるのか見ておこう。

まず、rootになってcrontab -lを実行すると、

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

これが、何もしないで設定されているcronだ。run-partsってのは/usr/binにあって、指定したディレクトリにあるファイルを次々に実行してくれるプログラムらしい。シェルスクリプトだから、見ればわかるってのはいいよな。つまり、/etc/cron.*/にあるプログラムを、毎時01分、毎日4:02、毎週月曜4:22、毎月1日4:42に実行する。って、うちのマシンは毎日電源落としてるから、そんな時間に動いてないっつーの(笑)。

つーわけで、たいていInternetにつないでいる23:00前後にdailyが走るようにcrontab -eで変更。あとは、職場マシンと同様にxntp3のパッケージを入れてから、時刻合わせをするスクリプトを作ってcron.dailyに入れればいい。ま、こんな感じか:

#!/bin/sh
/usr/sbin/ntpdate clock.nc.fukuoka-u.ac.jp >> /var/log/settime
/sbin/hwclock --systohc

これ書いてると、hwclockclockって名前にリンクされてることを今ごろ知ったりして、こんな名前と知ってたら覚えるのに苦労しなかったのに……ぐぅ。そうこうしてる間に23:02になった。ちゃんと動いているもよう。今日はトラブルありませんでしたな。なんかコツをつかんできた感じがするぜ。ふふふ。

しかし、Webで情報探してたら、AMラジオの時報で時刻合わせをするページなんてのが引っかかったりして、面白い世界だなぁ。GPSがないからってあきらめちゃいかんのね、この世界。