CentOS 7/Amazon Linux 2 でtimezoneを変更する

はじめに

稀にサーバの現在時間を確認しようとした際、想定していた時間と大きくズレていて、見てみるとJST(日本時間)ではなく、UTC(協定世界時)になってある事がある。

# date
Wed Oct 17 02:03:17 UTC 2018

一度設定したらほとんど変更しないタイムゾーン。
デフォルトでUTCになっていることもあり、JSTに変更したい事が多々ある。

しかし、変更したい時はだいたい手順を忘れているのでメモを記す。

手順

現在のタイムゾーンを確認

# timedatectl
      Local time: Wed 2018-10-17 02:05:01 UTC
  Universal time: Wed 2018-10-17 02:05:01 UTC
        RTC time: Wed 2018-10-17 02:04:41
       Time zone: n/a (UTC, +0000)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

 

日本時間に変更する

# timedatectl set-timezone Asia/Tokyo

再度タイムゾーンを確認

# timedatectl
      Local time: Wed 2018-10-17 11:05:17 JST
  Universal time: Wed 2018-10-17 02:05:17 UTC
        RTC time: Wed 2018-10-17 02:04:57
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

Local timeのところがUTCからJSTに変わった。

この状態でtimeコマンドで現在時間を確認すると,

# date
Wed Oct 17 11:05:31 JST 2018

JSTになり期待通りの結果になる

もちろん、ログインしなおしてもこの状態は引き継がれる。

注意事項

本作業を行うとcronが正常に稼働しない。cronを利用している場合は再起動する必要がある

systemctl restart crond