timedatectl は systemd 環境でシステムの日時・タイムゾーン・NTP(ネットワーク時刻同期)をまとめて確認/設定するコマンドです。date が「表示と書式変換」中心なのに対し、timedatectl は「タイムゾーンの変更」「NTP同期のON/OFF」「ハードウェアクロック(RTC)の扱い」まで一括で管理できます。
実務ではサーバーのタイムゾーン初期設定、NTP同期状況の切り分け、ログの時刻ズレ調査などに使います。
構文(Syntax)
timedatectl [OPTIONS...] COMMAND [ARGS...]
# 例
timedatectl status
timedatectl list-timezones
sudo timedatectl set-timezone ZONE
sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
sudo timedatectl set-ntp true|false
timedatectl timesync-status
- 引数なしで
timedatectlを実行するとstatusと同じ内容を表示します。 - 設定を変更するサブコマンド(
set-time/set-timezone/set-ntp/set-local-rtcなど)は原則 root 権限(sudo)が必要です。
主なコマンド一覧
| コマンド | 説明 | 使用例 |
|---|---|---|
status | 現在の時刻・タイムゾーン・NTP同期状態を表示(既定の動作) | timedatectl status |
show | statusと同じ情報をプロパティ形式(機械可読)で表示 | timedatectl show |
set-time TIME | システム時刻(RTC含む)を設定。root権限が必要 | sudo timedatectl set-time "2026-07-29 20:15:00" |
set-timezone ZONE | タイムゾーンを変更(/etc/localtimeを更新)。root権限が必要 | sudo timedatectl set-timezone Asia/Tokyo |
list-timezones | 設定可能なIANAタイムゾーン名の一覧を表示 | timedatectl list-timezones |
set-local-rtc BOOL | RTCをローカル時刻として扱うか設定(Windowsデュアルブート向け) | sudo timedatectl set-local-rtc 0 |
set-ntp BOOL | NTPによる自動時刻同期の有効/無効を切り替え | sudo timedatectl set-ntp false |
timesync-status | systemd-timesyncdの同期状態(サーバー・オフセットなど)を表示 | timedatectl timesync-status |
show-timesync | timesync-statusと同じ情報をプロパティ形式で表示 | timedatectl show-timesync |
ntp-servers IF SERVER… | インターフェース固有のNTPサーバーを設定 | sudo timedatectl ntp-servers eth0 ntp.nict.jp |
revert IF | インターフェース固有のNTPサーバー設定を解除 | sudo timedatectl revert eth0 |
主なオプション一覧
| オプション | 説明 |
|---|---|
-H, --host=[USER@]HOST | リモートホストに対して実行(SSH経由) |
-M, --machine=CONTAINER | ローカルコンテナに対して実行 |
--no-ask-password | 認証プロンプトを表示しない |
--no-pager | 出力をページャーに通さない |
-p, --property=NAME | showと併用し、指定プロパティのみ表示 |
-a, --all | 空の値も含め全プロパティを表示 |
--value | プロパティ表示時に値のみ出力(プロパティ名を省略) |
--adjust-system-clock | set-local-rtc実行時にRTCからシステムクロックを再同期 |
--monitor | timesync-statusを継続的に監視表示 |
-h, --help / --version | ヘルプ/バージョン表示 |
status出力の見方
timedatectl status(引数なし実行も同じ)で表示される各項目の意味は次のとおりです。
| 項目 | 意味 |
|---|---|
Local time | 設定中のタイムゾーンでの現在時刻 |
Universal time | UTC(協定世界時)での現在時刻 |
RTC time | ハードウェアクロック(RTC。BIOS/UEFIが保持する時計)の時刻 |
Time zone | 現在のタイムゾーン(IANA名、略称、UTCオフセット) |
System clock synchronized | NTP等でシステムクロックが同期済みか(yes/no) |
NTP service | systemd-timesyncd等のNTPサービスの稼働状態(active/inactive) |
RTC in local TZ | RTCをローカル時刻として扱っているか。基本はno(UTC管理)が推奨 |
実行例
現在の時刻・タイムゾーン・NTP同期状態を確認する
説明: 引数なしのtimedatectl(またはtimedatectl status)で全体を一目で確認できます。
コマンド:
timedatectl status
出力例(実機で実行した結果):
Local time: Wed 2026-07-29 23:02:44 UTC
Universal time: Wed 2026-07-29 23:02:44 UTC
RTC time: Wed 2026-07-29 23:02:44
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
一覧からタイムゾーンを探して変更する
説明: list-timezonesでIANA名を確認してからset-timezoneで変更します。
コマンド:
timedatectl list-timezones | grep Tokyo
sudo timedatectl set-timezone Asia/Tokyo
1行目の出力例(実機で実行した結果、497件中の該当行):
Asia/Tokyo
タイムゾーンをAsia/Tokyoに変更すると、statusの表示は次のようになります(UTC 23:02:44 → JSTは+9時間の08:02:44、日付が翌日に繰り上がる点に注意)。
Local time: Thu 2026-07-30 08:02:44 JST
Universal time: Wed 2026-07-29 23:02:44 UTC
RTC time: Wed 2026-07-29 23:02:44
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
NTP同期の詳細(サーバー・オフセット)を確認する
説明: statusのNTP service: activeだけでは同期先や誤差までは分かりません。timesync-statusで詳細を確認します。
コマンド:
timedatectl timesync-status
出力例(実機で実行した結果):
Server: 185.125.190.57 (ntp.ubuntu.com)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 2
Reference: 63DC0885
Precision: 1us (-25)
Root distance: 3.189ms (max: 5s)
Offset: +746us
Delay: 222.179ms
Jitter: 5.307ms
Packet count: 75
Frequency: +5.519ppm
Offset(システム時刻とNTPサーバーの誤差)が大きい、またはServerが空のままなら、ファイアウォールでUDP 123がブロックされていないか、set-ntp trueになっているかを確認してください。
NTP同期を止めて手動で時刻を設定する
説明: NTPが有効なままset-timeしても、同期によりすぐ元に戻ります。手動設定する場合は先にNTPを止めます。
コマンド:
sudo timedatectl set-ntp false
sudo timedatectl set-time "2026-07-29 20:15:00"
# 確認後、NTPを再度有効化して同期に戻す
sudo timedatectl set-ntp true
エラー例:一般ユーザーで実行した場合
説明: set-timezoneやset-ntpはsudoなしで実行すると認証エラーになります。
コマンド:
timedatectl set-timezone Asia/Tokyo
出力例(実機で実行した結果):
Failed to set time zone: Interactive authentication required.
対処: sudoを付けて実行するか、実行ユーザーがPolkit経由で権限を持っているか確認してください。
よくある質問(FAQ)
timedatectlとdateコマンドの違いは?
dateは日時の表示・書式変換に特化したコマンドで、タイムゾーンやNTP同期の管理機能はありません。timedatectlはsystemd環境向けの上位コマンドで、タイムゾーンの一覧・変更、NTP同期のON/OFF、RTCの扱いまでまとめて管理できます。時刻を素早く整形して出すだけならdate、システム全体の時刻設定を変えるならtimedatectlを使います。
「Interactive authentication required」で失敗する
設定を変更するサブコマンド(set-time / set-timezone / set-ntp / set-local-rtcなど)はPolkit経由の権限確認が必要です。sudoを付けて実行するか、実行ユーザーに管理者権限を付与してください。
DockerコンテナやWindows(WSL)でtimedatectlが使えない
多くのDockerコンテナやWSL1、systemdを使わない構成のWSL2では、systemdおよびsystemd-timesyncdが動作していないためtimedatectlのほとんどのサブコマンドが失敗します。この場合、タイムゾーンはTZ環境変数や/etc/timezoneで扱うのが一般的です。
NTPが同期しない場合は?
timedatectl timesync-statusで同期先サーバーとOffset(誤差)を確認します。Serverが空のまま、またはSystem clock synchronized: noが続く場合は、UDP 123のアウトバウンド通信がファイアウォールでブロックされていないか、set-ntp trueになっているかを確認してください。
RTC in local TZはyesにすべき?
基本はno(RTCをUTCで管理)が推奨です。Windowsとのデュアルブート環境で、Windows起動時に時刻がずれて表示される場合のみsudo timedatectl set-local-rtc 1 --adjust-system-clockを検討してください。
関連コマンド
date: 日時の表示・書式変換・(sudoでの)簡易的な時刻設定。hwclock: ハードウェアクロック(RTC)を直接読み書きする低レベルコマンド。tzselect: 対話形式でタイムゾーンを選び、設定用の値を得る。chronyc: chronyでNTP同期を管理している環境での状態確認・制御。systemctl:timedatectl自体が依存するsystemdサービス(systemd-timesyncdなど)の起動・停止管理。
備考
- 対応環境: systemdを採用するディストリビューション(Ubuntu 15.04以降、CentOS/RHEL 7以降、Debian 8以降など)で利用可能。SysVinit系や、OpenRCを使うAlpine Linuxなどでは使えません。
- chrony併用環境の注意: chronyを導入してNTP同期している場合、
systemd-timesyncdは無効化されていることが多く、timedatectlのNTP service表示が実態と食い違うことがあります。その場合はchronyc trackingで確認してください。 - コンテナ/WSLでの制約: systemdが動いていない環境では変更系サブコマンドが軒並み失敗します(本記事でも権限昇格ができない環境で
Failed to set time zone: Interactive authentication required.を確認済み)。 - set-timeとNTPの競合: NTPが有効(
set-ntp true)な状態でset-timeしても、同期によりすぐ元の時刻に戻ります。手動設定したい場合は先にset-ntp falseにしてください。
参考
- systemd
timedatectl(1)公式マニュアル: https://www.freedesktop.org/software/systemd/man/latest/timedatectl.html - Ubuntu man pages
timedatectl(1): https://manpages.ubuntu.com/manpages/noble/man1/timedatectl.1.html - Arch Wiki「systemd-timesyncd」(NTP同期の仕組み): https://wiki.archlinux.org/title/Systemd-timesyncd
- 本サイトの
dateコマンド解説: https://bashdo.com/post/date/

コメント