[Linux]タイムゾーン(Timezone)をUTCから日本標準時(JST)に変更する

set_timezone_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

タイムゾーン(Timezone)の初期設定は世界標準時(UTC)

サーバーに OS をインストールした直後は、基本としてタイムゾーンに世界標準時間(UTC)が設定されています。そのため日本向けにサービスを行うときは、日本標準時(JST:時差 +9 時間)に設定を変更する必要があります。

そこで今回はサーバーのタイムゾーンの設定変更をご紹介します。

 

タイムゾーン(Timezone)の設定方法

タイムゾーンの設定方法は使用する LinuxOS ごとに微妙な差異があります。

今回は動作検証として AWS 環境の

  • Amazon Linux 2
  • CentOS 7
  • Ubuntu 18.04

で行ったものを記載しています。

なお動作確認は全て root ユーザーで行っています。root 以外のユーザーで実行する場合はコマンドの先頭に「sudo」コマンドを付与して実行してください。

 

[Amazon Linux]タイムゾーン(Timezone)の設定変更

Amazon Linux は「/etc/localtime」にあるファイルを設定ファイルとしてタイムゾーンをチェックしています。また初期の「/etc/localtime」と同じファイルが「/usr/share/zoneinfo/Etc/UTC」にあることが分かります。

 

実行するサンプルコマンド

「/etc/localtime」と同じファイルが「/usr/share/zoneinfo/Etc/UTC」にあるため、「/etc/localtime」のバックアップを取らずに削除して、日本標準時のファイルへシンボリックリンクを貼る設定を行います。

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

サンプルコマンドの実行例

 

[CentOS]タイムゾーン(Timezone)の設定変更

CentOS は timedatectl コマンドでタイムゾーンの設定を行います。操作することは無いですが、タイムゾーン設定ファイルは「/usr/share/zoneinfo/」に設置されています。

 

実行するサンプルコマンド

timedatectl set-timezone Asia/Tokyo

サンプルコマンドの実行例

 

[Ubuntu]タイムゾーン(Timezone)の設定変更

Ubuntu は「/etc/localtime」に「/usr/share/zoneinfo/Etc/UTC」へのシンボリックが設定されています。そこでシンボリックリンクを日本標準時への貼りなおし設定を行います。

 

実行するサンプルコマンド

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

使用している ln コマンドのオプションの意味は、下記に記載します。

オプション オプション(長い名称) 説明
-s –symbolic シンボリックリンクを作成する
-f –force 同じ名前のファイルが存在しても強制的に上書きする

サンプルコマンドの実行例

 

さいごに

AWS にてタイムゾーン(Timezone)を日本標準時に変更する方法をご紹介しました。

「さくらのVPS」など日本向けのクラウドサービスでは、日本標準時(JST:時差 +9 時間)が初期設定しているサービスもありますので、設定変更を行う前に必ずサーバーの状況を確認してください。

 

Linuxの知識については下記の本も参考になるので、スキルアップにお役立てください。

三宅 英明 (著)、大角 祐介 (著)
ページ数: 440ページ
出版社:SBクリエイティブ
発売日:2015/06/06

出典:amazon