InfraAcademy

InfraAcademy Blog

Linuxで時刻を確認・変更する方法を解説!imedatectl・date・NTP同期について

| #Linux #コマンド

こんにちは、フルスタックエンジニアのryuです。

Linuxサーバーの時刻がずれている。日本時間ではなく、UTCで表示されている。

そんなとき、どのコマンドを使えばよいのか迷いませんか。

現在のLinuxでは、時刻やタイムゾーンの状態をまとめて確認するときにtimedatectlを使うのが分かりやすいです。

この記事では、Linuxの時刻確認、タイムゾーン変更、手動設定、NTP同期の確認方法を初心者向けに解説します。

Linuxの時刻を確認する

Linuxの現在時刻は、dateコマンドで確認できます。

date

実行結果は、次のようになります。

Tue Jul 14 10:30:00 JST 2026

表示される主な内容は、曜日、日付、時刻、タイムゾーン、年です。

JSTと表示されていれば、日本標準時で表示されています。

時刻だけを見やすく表示することもできます。

date '+%Y-%m-%d %H:%M:%S %Z'

実行結果は以下の通りです。

2026-07-14 10:30:00 JST

ログの調査や障害対応では、サーバーの現在時刻を最初に確認することがあります。

ログに書かれている時刻と実際の時刻がずれていると、障害が発生した時間帯を間違えてしまうからです。

timedatectlで時刻設定をまとめて確認する

systemdを使っているLinuxでは、timedatectlを実行すると、時刻に関する情報をまとめて確認できます。

timedatectl

実行すると、次のような情報が表示されます。

               Local time: Tue 2026-07-14 10:30:00 JST
           Universal time: Tue 2026-07-14 01:30:00 UTC
                 RTC time: Tue 2026-07-14 01:30:00
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

最初は項目が多く、少し分かりにくいですよね。

主な項目を整理すると、以下の通りです。

項目 意味
Local time 現在のタイムゾーンで表示した時刻
Universal time UTCで表示した時刻
RTC time ハードウェアクロックの時刻
Time zone 設定されているタイムゾーン
System clock synchronized システム時刻が同期されているか
NTP service NTP同期サービスの状態

時刻がずれているときは、dateだけでなくtimedatectlの結果も確認しましょう。

Linuxのタイムゾーンを日本時間へ変更する

タイムゾーンがUTCになっている場合は、日本時間のAsia/Tokyoへ変更します。

まず、現在のタイムゾーンを確認します。

timedatectl

利用できるタイムゾーンを検索したい場合は、以下のコマンドを使います。

timedatectl list-timezones | grep Tokyo

Asia/Tokyoが表示されたら、次のコマンドで変更します。

sudo timedatectl set-timezone Asia/Tokyo

変更後に、もう一度確認します。

timedatectl
date

Time zone: Asia/TokyoJSTと表示されていれば変更できています。

tzselectでタイムゾーンを探す方法

tzselectを使い、地域を選択しながらタイムゾーン名を調べることもできます。

tzselect

元記事の画像は、tzselectで地域を選択している画面です。

ただし、tzselectは選択したタイムゾーン名を確認するためのコマンドです。システム全体の設定変更には、timedatectl set-timezoneを使う方が分かりやすいです。

Linuxの時刻を手動で変更する

通常のサーバーでは、NTPを使って自動的に時刻を同期します。

それでも、検証環境やネットワークへ接続できない環境で、時刻を手動設定したい場合があります。

systemdを使っている環境では、次のように変更できます。

sudo timedatectl set-time '2026-07-14 10:30:00'

ただし、NTP同期が有効な状態では、手動設定に失敗することがあります。

その場合は、NTP同期を一時的に無効にします。

sudo timedatectl set-ntp false
sudo timedatectl set-time '2026-07-14 10:30:00'

確認後、必要に応じてNTP同期を戻します。

sudo timedatectl set-ntp true

dateコマンドで変更する方法

dateコマンドでもシステム時刻を変更できます。

sudo date -s '2026-07-14 10:30:00'

実行後は、dateで確認します。

date

ただし、NTP同期が有効な場合は、あとから正しい時刻へ自動修正されます。

現在のLinuxでは、状態確認やタイムゾーン変更もまとめて行えるtimedatectlを先に覚えるとよいでしょう。

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

Linuxには、システムクロックとハードウェアクロックがあります。

システムクロックは、Linuxが起動している間に使用する時刻です。

ハードウェアクロックはRTCとも呼ばれ、サーバーの電源が切れている間も時刻を保持します。

時計 役割
システムクロック 起動中のLinuxが使用する時刻
ハードウェアクロック 電源停止中も保持される時刻

ハードウェアクロックは、hwclockで確認できます。

sudo hwclock --show

システムクロックの時刻をハードウェアクロックへ反映する場合は、以下のコマンドを使います。

sudo hwclock --systohc

反対に、ハードウェアクロックの時刻をシステムクロックへ反映する場合は、以下の通りです。

sudo hwclock --hctosys

クラウドの仮想サーバーなどでは、ハードウェアクロックを直接意識する場面は多くありません。

まずはシステム時刻、タイムゾーン、NTP同期の状態を確認できるようにしましょう。

NTPで時刻を自動同期する

サーバーの時刻は、手動で合わせ続けるのではなく、NTPを使って自動同期するのが基本です。

NTPは、ネットワーク上の時刻サーバーと時刻を合わせる仕組みです。

元記事ではntpdateを使っていましたが、現在の環境ではchronysystemd-timesyncdなどの常駐サービスを使うことが多くなっています。

NTPの仕組みについては、NTPとは?時刻同期の仕組みを解説も参考にしてください。

timedatectlで同期状態を確認する

まずは、NTP同期が有効か確認します。

timedatectl

次の2項目を確認してください。

System clock synchronized: yes
NTP service: active

NTPサービスを有効にする場合は、以下のコマンドを使えます。

sudo timedatectl set-ntp true

ただし、実際に使用される同期サービスはLinux環境によって異なります。

chronyを使用している環境では、次のコマンドも確認しましょう。

chronyの同期状態を確認する

RHEL系のLinuxなどでは、時刻同期にchronydがよく使われます。

サービスの状態を確認します。

systemctl status chronyd

Ubuntuなど、サービス名がchronyの環境では以下を確認します。

systemctl status chrony

同期状態は、chronyc trackingで確認できます。

chronyc tracking

NTPサーバーの一覧と状態を確認する場合は、以下のコマンドを使います。

chronyc sources -v

参照中のサーバーには、通常^*が表示されます。

時刻のずれが大きく、すぐに補正したい場合は、運用ルールを確認したうえで次のコマンドを使うことがあります。

sudo chronyc makestep

時刻が急に変わると、アプリケーションやログへ影響する可能性があります。

本番サーバーでは、影響を確認してから実行してください。

NTPサーバーの構築については、LinuxでNTPサーバーを設定する方法で解説しています。

Linuxの時刻がずれるときの確認方法

時刻が合わない場合は、やみくもに手動変更するのではなく、次の順番で確認します。

  1. dateで現在時刻を確認する
  2. timedatectlでタイムゾーンを確認する
  3. NTP同期が有効か確認する
  4. chronyc trackingsources -vを確認する
  5. NTPサーバーへ通信できるか確認する
  6. 仮想環境やホストOS側の時刻同期も確認する

例えば、時刻そのものは合っているのに、9時間ずれて見える場合があります。

この場合は、時刻ではなくタイムゾーンがUTCになっている可能性があります。

一方、数秒から数分ずつずれていく場合は、NTP同期サービスや接続先を確認します。

Linuxの時刻設定まとめ

Linuxの現在時刻は、dateで確認できます。

date

時刻、タイムゾーン、NTP同期の状態をまとめて確認する場合は、timedatectlを使います。

timedatectl

日本時間へ変更する場合は、以下の通りです。

sudo timedatectl set-timezone Asia/Tokyo

サーバーの時刻は、手動で設定するよりNTPで自動同期するのが基本です。

私も障害調査をするときは、ログを見る前にサーバー時刻を確認することがあります。

サーバーごとに時刻がずれていると、どの処理が先に起きたのか判断できなくなるからです。

コマンドだけを覚えるのではなく、システム時刻、タイムゾーン、NTP同期を分けて確認できるようにしましょう。

Linuxの時刻設定を実際に学びたい方へ

Linuxの時刻設定は、サーバーの初期設定や運用で必要になる知識です。

InfraAcademyでは、ブラウザ上のLinux環境でコマンドを実行しながら学習できます。

Linuxの基本操作を学びたい方は、Linux入門講座を確認してみてください。

時刻同期やサービス管理まで学びたい方は、Linux中級講座サーバー構築講座がおすすめです。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る