Linuxでのntpdateとcronを使った時刻合わせ

Linuxでの時刻合わせを自動化してましょう。この処理はntpdで合わせたほうが、より正確に調整できます。今回は、それほど気にしないのでntpdateを1日1回cronで起動するようにしました。コンソールから"crontab -e"を実行後、次のように記述。

0 0 * * * /usr/local/bin/ntpdate -s kudpc.kudpc.kyoto-u.ac.jp > /dev/null 2>&1

cronに直にコマンドを書かず、編集しやすいようにスクリプトに書き出しておいてもいいでしょう。私の場合は、次のスクリプトを/usr/local/bin/ntpdate.shとして保存しました。

#!/bin/sh
# UNIXの時間をサーバーに合わせる。
# -s 結果は /var/log/messagesへ出力。
# ntp serverは http://www.jst.mfeed.ad.jp/network.htmlを使用。
#
/usr/sbin/ntpdate -s ntp1.jst.mfeed.ad.jp \
ntp2.jst.mfeed.ad.jp \
ntp3.jst.mfeed.ad.jp
#
# マザーボードの時間を UNIX TIMEに合わせる。
/sbin/clock --systohc

上記スクリプトをcronとして設定。どのアカウントでも機能するように、root権限で/etc/crontabに書込みます。

00 00 * * * root /usr/local/bin/ntpdate.sh

最後にcronを再起動してセット完了。

$ /etc/rc.d/init.d/crond restart
Share