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

DigitalOceanなど海外のサーバを利用すると、タイムゾーンがUTC(協定世界時)になっていて、ログを確認していても時間の感覚がつかめなかったり、ログの情報を読む際に日本時間と勘違いしてしまったりする。

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

CentOS 8, 7の場合

CentOS 8, 7では、timedatectlコマンドでタイムゾーンを設定する。

# timedatectl set-timezone Asia/Tokyo

# timedatectl status
Local time: Wed 2015-10-28 08:14:11 JST
Universal time: Tue 2015-10-27 23:14:11 UTC
RTC time: Tue 2015-10-27 23:14:11
Timezone: Asia/Tokyo (JST, +0900)
NTP enabled: n/a
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a

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

# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
...以下略

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

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

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

# systemctl restart rsyslog.service