タイムゾーンを日本標準時(JST)に変更 【timedatectl】
タイムゾーンの設定を変更したいケース
インストールした直後のサーバーだとdateコマンドで日付を確認すると、時間が日本の標準時刻じゃなくてUTC(協定世界時)になっている場合があります。
OSインストール時にタイムゾーンを設定する時に設定忘れたりして、タイムゾーンが初期値のUTC(協定世界時)のままになっているケースが多いです。
タイムゾーンを変更するには、CentOS7以降では「timedatectl」コマンドでタイムゾーンを変更できます
現在のタイムゾーンの設定を確認する
現在のタイムゾーンを確認するには「timedatectl show」とコマンドを入力すれば確認できます。下記ではタイムゾーンはUTCとなっています。それが原因でdateコマンドの結果が日本の標準時刻との違う結果になっています
$ timedatectl show Timezone=UTC (UTC, +0000) LocalRTC=no CanNTP=yes NTP=yes NTPSynchronized=no TimeUSec=Tue 2024-10-08 02:52:51 UTC RTCTimeUSec=Tue 2024-10-02 10:53:09 UTC
タイムゾーンを日本標準時に設定する
設定可能なタイムゾーンに「Asia/Tokyo」が含まれているか確認します
$ timedatectl list-timezones | grep Tokyo Asia/Tokyo
指定したいタイムゾーンがない場合は以下のコマンドでタイムゾーンを追加します
# ubuntu $ sudo apt install tzdata #CentOS系(RHEL) $ sudo dnf install tzdata
タイムゾーンを日本標準時に変更します
$ sudo timedatectl set-timezone Asia/Tokyo
日本標準時に変更されたか確認します
$ timedatectl show Timezone=Asia/Tokyo LocalRTC=no CanNTP=yes NTP=yes NTPSynchronized=no TimeUSec=Tue 2024-10-08 10:52:51 JST RTCTimeUSec=Tue 2024-10-08 10:53:09 JST
タイムゾーン変更後について
ログに表示されるタイムスタンプにタイムゾーンに基づいて記録されます。
timedatectl コマンドでは即時に反映するのでサービスによってはサービスの再起動が不要なサービスもありますが、httpd や mysqld などのサービスが動作中の場合、サービスを再起動することで、正しいタイムゾーン設定が反映されることがあります。
そのようにサービスの再起動でタイムゾーン変更が反映する場合は、サービスの再起動が必要になりますので、ログのタイムスタンプがUTCのままの場合はサービスを再起動してください
ディスカッション
コメント一覧
まだ、コメントがありません