CentOS のサーバーで時刻がずれる場合の対処方法を解説します。
一度時刻を合わせたサーバーでも、起動し続けていると時刻がずれていきます。
NTP を活用することで、定期的にサーバーの時刻を同期するようにしましょう。
タイムゾーンと現在時刻
まずはサーバーの現在時刻を確認してみます。
正確な日本時間は こちら のページで確認できます。
# date
2018年 7月 12日 木曜日 21:16:08 JST (日本語の場合)
Thu Jul 12 21:16:08 JST 2018 (英語の場合)
合わせてタイムゾーンも確認しておきます。
JST
と表示されている場合は日本標準時、UTC
の場合は世界標準時で設定されています。
日本標準時に変更する場合は、以下のコマンドを実行します。
CentOS 6以前
# cp /usr/share/zoneinfo/Japan /etc/localtime
CentOS 7以降
# timedatectl set-timezone Asia/Tokyo
NTP サーバーで時刻合わせを自動化する
一度サーバーの時刻を正しく設定しても、時間が経つと徐々にずれてしまいます。
対策として、NTP を利用することでサーバーを正しい時刻に保つことが可能です。
NTP サーバーと呼ばれる時刻配信サーバーと定期的に同期を行います。
自由に利用できる NTP サーバーとしては、以下のものが知られています。
ntp.nict.jp
情報通信研究機構が提供しているサーバーです。
日本標準時を管理している機関ですので、提供される時刻精度はとても信頼できます。
ntp.jst.mfeed.ad.jp
インターネットマルチフィードが提供するサーバーです。
日本のインターネットの中心とも呼べる位置にサーバーがあり、通信遅延が少ない点も特徴です。
NTP もしくは Chronyを設定する
CentOS 6以前では ntp
、CentOS 7以降は chrony
と呼ばれるサービスを利用します。
/etc/ntp.conf
もしくは /etc/chrony.conf
に以下の設定を追加します。
# serverを定義している欄に追記
server ntp.nict.jp
または
server ntp.jst.mfeed.ad.jp
サービスを起動します。
# service ntpd start
または
# systemctl start chrony
しばらく待ち、確認コマンドを実行します。左端に *
が付いていれば同期されています。
# ntpq -p
または
# chronyc sources
まとめ
CentOS で、サーバーの時刻がずれる場合の対処方法を紹介しました。
サーバーの時刻がずれると、アプリが誤動作したりログ時刻にも影響が出ます。
外部のサービスと連携するシステムでは、特に注意しておきましょう。
NTP サーバーを活用することで、正しい時刻情報を保つことが可能です。
⇒ CentOS が重いときの確認コマンド
⇒ CentOS のサービス一覧を確認する
⇒ Apache アクセスログの解析コマンド