クラウド環境のインスタンスなどでは、タイムゾーンが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