コンピュータやサーバーに内蔵された時計は、電源がオフの状態でも
常に動作しています。これをハードウェアクロックと呼びます。
また、ハードウェアクロックとは別にLinuxカーネル内に存在する
システムクロックというものも存在ます。
システムクロックは、Linux起動時にハードウェアクロックを参照し、
設定を行いますが、その後は別々に動作します。
そのため起動してから時間の経過とともにハードウェアクロックと
システムクロックに差が生じてしまいます。
そこで重宝するのが、ネットワーク経由でクロックを同期する
NTP(Network Time Protocol)を使った時刻合わせです。
NTPはネットワーク経由でインターネット上にあるタイムサーバー
(NTPサーバー)から正確な時刻を取得します。
Linuxでは、ntpdateコマンドを使用してNTPサーバーから
正確な時刻を取得できます。
下記の例では「clock.nc.fukuoka-u.ac.jp」から
現在の時刻を取得しています。
# ntpdate -s clock.nc.fukuoka-u.ac.jp
■他のNTPサーバー
・東京大学 eric.nc.u-tokyo.ac.jp
・東京理科大学 ntp.sut.ac.jp
・東北大学 ntp1.tohoku.ac.jp
・広島大学 ns.hiroshima-u.ac.jp
・大阪府立大学 eagle.center.osakafu-u.ac.jp
ただし、ntpdateコマンドで同期できるのはシステムクロックになります。
ハードウェアクロックも同期させるには、clockコマンドにオプション
「-w」を付けて実行します。
# clock -w
また、hwclockでもシステムクロックの時刻をハードウェアクロックに
書き込み同期させることができます。その場合もオプション「-w」を
付けて実行します。
# hwclock -w
Linuxシステムで正確な時刻設定を行う場合には、cronを使用して
一定時間毎に時刻合わせをさせるのが良い方法です。
例えば、↓のように毎日0時にシステムクロックを同期し、
0時1分にハードウェアクロックを同期する設定を行います。
0 0 * * * /usr/sbin/ntpdate -s clock.nc.fukuoka-u.ac.jp > /dev/null 2>& 1
1 0 * * * /sbin/clock -w
上記の設定をcronに行う事で毎日決まった時間に正確な時刻を
同期することができます。
これら時刻合わせ処理の流れをまとめると下記の様になります。
1.ntpdateコマンドでNTPサーバーから正確な時刻を取得し、システムクロックと同期
2.clockまたは、hwclockコマンドでシステムクロックとハードウェアクロックを同期
時刻管理はLinuxシステムを管理する上でとても重要なものになります。
ログ管理で言えば、いつどんな処理を行ったか、または、エラーや障害は
いつ発生したのかなど、サーバーの状態を時系列で追う必要がある場合に
重要になります。
なので、常に正確な時刻を刻むようこれらの内容をマスターし、
Linuxに設定するようにしてください。
P.S
Linux入門マニュアルを無料プレゼントしています。
↓
ダウンロードは今すぐこちらをクリック
P.P.S
プロが現場で使うLinux技術を2日間で学べる初心者向けセミナーです。
いますぐご確認ください。
↓↓↓
Linuxセミナー
<<関連記事>>
・LinuxのOS種類とバージョンを確認する
・Perlモジュールを一覧表示する
・Linuxログの調査をする
・システム終了を中止する
・システム終了時に接続ユーザにメッセージを送る