◆ ハードウェアクロックとシステムクロック
Linuxには、2つの時計があります。1つはハードウェアクロックといいハードウェアとして内蔵された
時計のことであり、システム停止(電源オフ)にしてもハードウェア上の内蔵バッテリーで動作します。
もう1つはシステムクロックといいメモリ上で動作する時計のことです。システムクロックは、電源が
オフになると時計情報も消えます。そのため、電源がONになる度にハードウェアクロックから現在の
日時を取得して値を設定します。dateコマンドではシステムクロックを参照し現在の日時を表示します。
# date
2015年 11月 13日 水曜日 23:06:33 JST
|
◆ システムクロックとハードウェアクロックの修正
システムクロックを修正するためには、dateコマンドで以下の書式に従って設定を行います。
◆ 構文 : date [ MMDDhhmmCCYY.ss ]
書式 |
コマンド |
MM |
月 |
DD |
日 |
hh |
時 |
mm |
分 |
CC |
西暦上2桁 |
YY |
西暦下2桁 |
SS |
秒 |
◆ 実行例 : システムクロックを11月13日、23時30分にセット
ハードウェアクロックを修正するためには、hwclockコマンドを使用します。
◆ 構文 : hwclock [ オプション ]
オプション |
説明 |
-r |
ハードウェアクロックの表示 |
-s (--hctosys) |
ハードウェアクロックの時刻をシステムクロックに反映 |
-w (--systohc) |
システムクロックの時刻をハードウェアクロックに反映 |
-u |
UTC (Universal Coordiated Time)として反映 |
◆ 実行例 : システムクロックの時刻をハードウェアクロックには反映
◆ NTPによる時刻設定
ハードウェアクロック、システムクロックともに完全に正確な時刻情報という訳ではないので、正確な時刻
を取得するためにはインターネットなどのIPネットワーク経由でクロック同期を行うプロトコルであるNTP
(Network Time Protocol)を使用して正確な情報を取得します。NTPは階層構造になっており、最上位は
原子時計やGPSなどが位置して、その直下にあるNTPサーバを Stratum1、その下を Stratum2 と呼びます。
Linuxでは、ntpdateコマンドを使用してNTPサーバから正確な時刻情報を取得します。
◆ 構文 : ntpdate NTPサーバ名
◆ 実行例 : ntp.nict.jp のNTPサーバから時刻を取得
※ 上記コマンド実行は、ntp.nict.jp をDNSにより名前解決できることが前提となります。
NTPサーバは、一般公開されたものを利用できますが、組織内で構築したNTPサーバを利用することも
できます。なお、LinuxサーバをNTPサーバにするためには以下のコマンドでNTPサーバを起動させます。
NTPサーバの設定は、/etc/ntp.confで行います。CentOSはデフォルトで以下のように設定されています。
# more /etc/ntp.conf
server 0.centos.pool.ntp.org ← 1番目のNTPサーバ
server 1.centos.pool.ntp.org ← 2番目のNTPサーバ
server 2.centos.pool.ntp.org ← 3番目のNTPサーバ
|
|