タイムゾーンを日本標準時(JST)に変更する Rocky Linux 8, 9

クラウド環境のインスタンスなどでは、タイムゾーンがUTC(協定世界時)に設定されていて、ログを確認していても時間の感覚がつかめなかったり、ログ情報を読む際に日本時間と勘違いしてしまったりする可能性がある。

そのため、普段からJST(日本標準時)で運用してる場合は、ホストのタイムゾーンはJSTに統一しておいた方がよいだろう。

現在のタイムゾーンの設定を確認する

dateコマンドやtimedatectl statusサブコマンドで現在のタイムゾーンの設定を確認する。

$ date
Mon Jul 29 03:03:11 AM UTC 2024

$ timedatectl status
               Local time: Mon 2024-07-29 03:03:24 UTC
           Universal time: Mon 2024-07-29 03:03:24 UTC
                 RTC time: Mon 2024-07-29 03:03:23
                Time zone: UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

タイムゾーンをAsia/Tokyoに設定する

timedatectlコマンドでタイムゾーンをJST(Asia/Tokyo)に設定する。

$ sudo timedatectl set-timezone Asia/Tokyo

タイムゾーンの変更を確認する

再度タイムゾーンの設定を表示して、JST(Asia/Tokyo)に変更されているかを確認する。

$ date
Mon Jul 29 12:05:25 PM JST 2024

$ timedatectl status
               Local time: Mon 2024-07-29 12:05:29 JST
           Universal time: Mon 2024-07-29 03:05:29 UTC
                 RTC time: Mon 2024-07-29 03:05:28
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

設定可能なタイムゾーンを確認する

timedatectlコマンドで設定できるタイムゾーンはlist-timezonesサブコマンドで確認できる。

$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
… 以下略

タイムゾーン変更後について

ログに表示されるタイムスタンプにタイムゾーンを反映させるには各種サービスを再起動する必要がある。そのため、可能であればタイムゾーンの設定を変更した後にホスト自体を再起動することを推奨する。

すぐにホストの再起動をすることが難しい場合は、rsyslogと主要なサービスを再起動しておくと良いだろう。

$ sudo systemctl restart rsyslog.service