timedatectlコマンド
ctlという響きから、systemd絡みであることはなんとなく想像がつきます。systemdを採用しているディストリビューションは、timedatectlコマンドで、日付、時刻、タイムゾーンを管理することができます。
書式
timedatectl コマンド
※コマンドは、下記にある表のコマンドを指します。
コマンド
コマンド | 説明 |
status | 現在の時刻と設定を表示する。 |
set-time 時刻 | 時刻の場合は「HH:MM:SS」 |
日付の場合は「YYYY-MM-DD」で指定する。(同時指定可能) | |
set-timezone | タイムゾーンを設定する。 |
list-timezone | タイムゾーンを一覧表示する。 |
set-ntp yes|no | NTPを使うかどうかを「yes」か「no」で指定する。 |
検証
検証にはCentOS8を使用しています。
検証1 statusで設定値の確認
まずはステータスを見ます。「timedatectl status」を実行します。
1 2 3 4 5 6 7 8 |
[root@localhost localhost]# timedatectl status Local time: 木 2020-10-01 12:08:59 JST Universal time: 木 2020-10-01 03:08:59 UTC RTC time: 木 2020-10-01 03:08:59 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: no NTP service: inactive RTC in local TZ: no |
一覧で見れて便利ですね。
検証2 set-timeで日時の変更
日付と時刻と設定します。現在の設定を確認します。「timedatectl status」を実行します。
1 2 3 4 5 6 7 8 |
[root@localhost localhost]# timedatectl status Local time: 木 2020-10-01 12:08:59 JST Universal time: 木 2020-10-01 03:08:59 UTC RTC time: 木 2020-10-01 03:08:59 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: no NTP service: inactive RTC in local TZ: no |
では、「timedatectl set-time “2020-11-01 12:00:00”」を実行して、2020年11月01日の12時00分00秒に設定します。
1 2 3 4 5 6 7 8 9 |
[root@localhost localhost]# timedatectl set-time "2020-11-01 12:00:00" [root@localhost localhost]# timedatectl status Local time: 日 2020-11-01 12:00:13 JST Universal time: 日 2020-11-01 03:00:13 UTC RTC time: 日 2020-11-01 03:00:14 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: no NTP service: inactive RTC in local TZ: no |
timedatectlコマンドを実行すると、システムクロック、ハードウェアクロックの両方が変更されます。