システム時刻の管理方法|date, hwclock, NTP, chronyで時刻を正確に保つ

目次

はじめに

Linuxサーバーを正確に運用するには、システム時刻の管理が非常に重要です。バックアップ、ログ記録、証明書管理など、多くの機能は正しい時刻に依存しています。

この記事では、datehwclock コマンドによる時刻の設定から、chronyntpd を用いたNTPサーバーとの同期方法まで、初心者にもわかりやすく解説します。


1. システム時刻とハードウェアクロックの違い

時刻の種類説明
システム時刻(System Clock)OSが管理している時刻(RAM上)
ハードウェアクロック(RTC)マザーボードの電池で保持される時刻。電源OFF中も動作する

2. dateコマンドでシステム時刻を確認・設定する

現在の時刻を表示する

date

時刻を設定する(例:2025年5月7日 14:30)

sudo date -s "2025-05-07 14:30:00"

3. hwclockコマンドでハードウェアクロックを操作する

ハードウェアクロックの確認

sudo hwclock --show

システム時刻をハードウェアクロックに反映

sudo hwclock --systohc

ハードウェアクロックをシステム時刻に反映

sudo hwclock --hctosys

4. タイムゾーンの設定

タイムゾーン一覧の場所

ls /usr/share/zoneinfo/

タイムゾーンを設定(例:Asia/Tokyo)

sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

確認と変更(systemd環境)

timedatectl        # 現在のタイムゾーン表示
sudo timedatectl set-timezone Asia/Tokyo

tzselectで対話的に設定

tzselect

5. NTPによる時刻同期(ntpdntpdate

ntpdサービスの使用(古典的)

sudo apt install ntp      # Debian系
sudo systemctl enable ntpd
sudo systemctl start ntpd

設定ファイルは /etc/ntp.conf にあります。

手動で時刻同期(即時)

sudo ntpdate ntp.nict.jp

ntpdate は推奨されない場合があり、代替に chrony が使われます。


6. chronyによる時刻同期(推奨)

chrony は最近のLinuxディストリビューションで推奨されるNTPクライアントです。

chronyのインストールと起動

sudo apt install chrony       # Debian系
sudo systemctl enable chronyd
sudo systemctl start chronyd

設定ファイル(/etc/chrony/chrony.conf

server pool.ntp.org iburst

状態確認

chronyc tracking
chronyc sources

7. 公開NTPサーバーの利用

信頼できる公開NTPサーバーの一例:

  • pool.ntp.org(全世界)
  • ntp.nict.jp(日本の情報通信研究機構)
  • ntp.jst.mfeed.ad.jp

設定ファイルに以下のように記述します:

server ntp.nict.jp iburst

8. ntpq コマンドで同期状況を確認

ntpd 使用時に、同期状況を確認するコマンド:

ntpq -p
  • NTPサーバー一覧と、それぞれの遅延やオフセットなどが表示されます。

まとめ

操作内容コマンドまたはファイル
システム時刻の表示・設定date
ハードウェアクロックの操作hwclock
タイムゾーン設定/etc/localtime, timedatectl
即時時刻同期ntpdate, chronyc
自動時刻同期サービスntpd, chronyd
状態確認ntpq -p, chronyc sources
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次