Linuxのシステムクロック、ハードウェアクロック

HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)LinuxtipsLinuxtips, システム管理 > Linuxのシステムクロック、ハードウェアクロック

Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。
リナックスマスター2日間集中セミナー【CentOS7版】
 (今すぐ↑をクリックしてください。)

コンピュータやサーバーに内蔵された時計は、電源がオフの状態でも
常に動作しています。これをハードウェアクロックと呼びます。
また、ハードウェアクロックとは別に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に行う事で毎日決まった時間に正確な時刻を
同期することができます。

crontabコマンド 定期的にコマンドを自動実行する

これら時刻合わせ処理の流れをまとめると下記の様になります。

1.ntpdateコマンドでNTPサーバーから正確な時刻を取得し、システムクロックと同期
2.clockまたは、hwclockコマンドでシステムクロックとハードウェアクロックを同期


時刻管理はLinuxシステムを管理する上でとても重要なものになります。
ログ管理で言えば、いつどんな処理を行ったか、または、エラーや障害は
いつ発生したのかなど、サーバーの状態を時系列で追う必要がある場合に
重要になります。

なので、常に正確な時刻を刻むようこれらの内容をマスターし、
Linuxに設定するようにしてください。



■CentOS7.1サーバー構築マニュアルを無料プレゼント
 「CentOS7.1」のサーバー構築手順、「VMware Player」の
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。
 無料マニュアルをダウンロードする  無料マニュアルをダウンロードする