【Linux】timedatectlコマンドで日付と時刻を変更する

Linux

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」を実行します。

一覧で見れて便利ですね。

検証2 set-timeで日時の変更

日付と時刻と設定します。現在の設定を確認します。「timedatectl status」を実行します。

では、「timedatectl set-time “2020-11-01 12:00:00”」を実行して、2020年11月01日の12時00分00秒に設定します。

timedatectlコマンドを実行すると、システムクロック、ハードウェアクロックの両方が変更されます。

検証3 list-timezonesでタイムゾーンの一覧を取得

timedatectl list-timezones」でタイムゾーンの一覧を表示します。全部表示するとかなりの量なので、Asiaのみを表示。それでも多かったので、途中省略しています。

上記を参考に、タイムゾーンを変更します。

検証4 set-timezoneでタイムゾーンの変更

timedatectl set-timezone」でタイムゾーンを変更します。せっかくなので、日本ではない場所を指定してみました。

変更されました。

検証5 set-ntp yesでNTPを有効化

NTPの設定ができます。けっこう手軽です。設定前は「NTP service」が「inactive」になっています。

timedatectl set-ntp yes」を実行します。

※すぐには同期されません。ちょっと待ちます。ステータスを再確認します。

同期されました。※すいません。日付は「2020-09-07」が正しい日付です。

システムクロックとハードウェアクロックの設定を見ます。

システムクロックは反映されていますが、ハードウェアクロックは変更されていません。
「hwclock -w」を実行して、システムクロックの時刻をハードウェアクロックに同期します。

同期されました。

タイトルとURLをコピーしました