この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
目次
タイムゾーン(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」にあることが分かります。
1 2 3 4 5 6 7 8 9 10 |
[root@hostname]# cd /etc [root@hostname etc]# ls -la | grep localtime -rw-r--r-- 1 root root 127 Nov 14 07:25 localtime [root@hostname]# cat /etc/localtime TZif2UTCTZif2C UTC0 [root@hostname]# cat /usr/share/zoneinfo/Etc/UTC TZif2UTCTZif2C UTC0 |
実行するサンプルコマンド
「/etc/localtime」と同じファイルが「/usr/share/zoneinfo/Etc/UTC」にあるため、「/etc/localtime」のバックアップを取らずに削除して、日本標準時のファイルへシンボリックリンクを貼る設定を行います。
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
サンプルコマンドの実行例
1 2 3 4 5 6 7 8 9 10 11 |
[root@hostname]# date Sat Dec 1 00:32:56 UTC 2018 [root@hostname]# cd /etc [root@hostname etc]# ls -la | grep localtime -rw-r--r-- 1 root root 127 Nov 14 07:25 localtime [root@hostname etc]# rm -f /etc/localtime [root@hostname etc]# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime [root@hostname etc]# ls -la | grep localtime lrwxrwxrwx 1 root root 30 Dec 1 09:32 localtime -> /usr/share/zoneinfo/Asia/Tokyo [root@hostname etc]# date Sat Dec 1 09:33:42 JST 2018 |
[CentOS]タイムゾーン(Timezone)の設定変更
CentOS は timedatectl コマンドでタイムゾーンの設定を行います。操作することは無いですが、タイムゾーン設定ファイルは「/usr/share/zoneinfo/」に設置されています。
1 2 3 4 5 6 |
[root@hostname]# cat /usr/share/zoneinfo/UTC TZif2UTCTZif2UTC UTC0 [root@hostname]# cat /usr/share/zoneinfo/Asia/Tokyo TZipKۭ~DTJSTTZif2 pK-MTJDTJST JST-9 |
実行するサンプルコマンド
サンプルコマンドの実行例
1 2 3 4 5 |
[root@hostname]# date Sat Dec 1 00:44:53 UTC 2018 [root@hostname]# timedatectl set-timezone Asia/Tokyo [root@hostname]# date Sat Dec 1 09:44:58 JST 2018 |
[Ubuntu]タイムゾーン(Timezone)の設定変更
Ubuntu は「/etc/localtime」に「/usr/share/zoneinfo/Etc/UTC」へのシンボリックが設定されています。そこでシンボリックリンクを日本標準時への貼りなおし設定を行います。
1 2 3 4 5 6 7 8 9 10 11 |
root@hostname:# cd /etc root@hostname:/etc# ls -la | grep time lrwxrwxrwx 1 root root 27 Nov 28 12:11 localtime -> /usr/share/zoneinfo/Etc/UTC root@hostname:# cat /usr/share/zoneinfo/Etc/UTC TZif2UTCTZif2C UTC0 root@hostname:# cat /usr/share/zoneinfo/Asia/Tokyo TZif2 >pMTJDTJSTTZif2 ¤ppY;MTJDTJST JST-9 |
実行するサンプルコマンド
使用している ln コマンドのオプションの意味は、下記に記載します。
オプション | オプション(長い名称) | 説明 |
---|---|---|
-s | –symbolic | シンボリックリンクを作成する |
-f | –force | 同じ名前のファイルが存在しても強制的に上書きする |
サンプルコマンドの実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
root@hostname:# date Fri Nov 30 12:35:01 UTC 2018 root@hostname:/etc# ls -la | grep time lrwxrwxrwx 1 root root 27 Nov 29 12:11 localtime -> /usr/share/zoneinfo/Etc/UTC -rw-r--r-- 1 root root 8 Nov 28 12:11 timezone root@hostname:/etc# root@hostname:/etc# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime root@hostname:/etc# root@hostname:/etc# ls -la | grep time lrwxrwxrwx 1 root root 30 Nov 29 21:38 localtime -> /usr/share/zoneinfo/Asia/Tokyo -rw-r--r-- 1 root root 8 Nov 28 21:11 timezone root@hostname:/etc# date Fri Nov 30 21:45:43 JST 2018 |
さいごに
AWS にてタイムゾーン(Timezone)を日本標準時に変更する方法をご紹介しました。
「さくらのVPS」など日本向けのクラウドサービスでは、日本標準時(JST:時差 +9 時間)が初期設定しているサービスもありますので、設定変更を行う前に必ずサーバーの状況を確認してください。