如何在Amazon EC2中设置时区?

时间:2012-08-13 09:34:05

标签: amazon-web-services ubuntu amazon-ec2

我想将运行Ubuntu Linux的Amazon EC2实例中设置的时区更改为本地时间?

我的问题

如何更改Amazon EC2中的时区?

11 个答案:

答案 0 :(得分:74)

它应该与您的桌面Ubuntu进程没有什么不同。见here

  1. SSH到您的EC2服务器
  2. 执行以下操作(将时区设置为Australia/Adelaide

    $ echo "Australia/Adelaide" | sudo tee /etc/timezone
    Australia/Adelaide
    $ sudo dpkg-reconfigure --frontend noninteractive tzdata
    
    Current default time zone: 'Australia/Adelaide'
    Local time is now:      Sat May  8 21:19:24 CST 2010.
    Universal Time is now:  Sat May  8 11:49:24 UTC 2010.
    
  3. <强>更新

    您可以使用tzselect实用程序进行浏览。见这里:http://manpages.ubuntu.com/manpages/precise/man1/tzselect.1.html

    这是一个互动软件。我的Ubuntu(11.10)有它。

    您也可以参考此Wikipedia article

    巴西

    Brazil/Acre
    Brazil/DeNoronha
    Brazil/East
    Brazil/West
    

答案 1 :(得分:44)

另一种更改时间的方法(这是在Amazon EC2 Linux实例上完成的)

删除您的本地时间文件

sudo rm /etc/localtime

将目录更改为ZoneInfo

cd /usr/share/zoneinfo

此文件夹包含所有时区信息。然后,您只需要软链接到适当的区域。

创建/ etc / localtime的软链接

sudo ln -s /usr/share/zoneinfo/GB /etc/localtime

这会将您的服务器时区更改为GB

答案 2 :(得分:19)

检查您当前的时区
$ date

要更改它,请运行

$ sudo dpkg-reconfigure tzdata

这将显示地理区域列表。选择缩小可用时区。接下来选择城市/时区。并且您已将系统更改为新时区。

答案 3 :(得分:9)

上述步骤均不适合我,所以想到在这里写下这个新答案

# Delete any existing localtime link
sudo rm /etc/localtime
# Update time clock file with ZONE property
sudo vi /etc/sysconfig/clock
#Update the ZONE property to what you want say
ZONE="America/Los_Angeles"
sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
sudo reboot

答案 4 :(得分:8)

在aws documentation中提供了有关更改ec2机器中时区的信息。请在下面找到详细信息:

更改时区

默认情况下,Amazon Linux实例设置为UTC(协调世界时)时区,但您可能希望将实例上的时间更改为本地时间或网络中的其他时区。

更改实例的时区

1.标识要在实例上使用的时区。 / usr / share / zoneinfo目录包含时区数据文件的层次结构。浏览该位置的目录结构以查找您所在时区的文件。

[ec2-user ~]$ ls /usr/share/zoneinfo
Africa      Chile    GB         Indian       Mideast   posixrules  US
America     CST6CDT  GB-Eire    Iran         MST       PRC         UTC
Antarctica  Cuba     GMT        iso3166.tab  MST7MDT   PST8PDT     WET
Arctic      EET      GMT0       Israel       Navajo    right       W-   SU
...

此位置的某些条目是目录(例如America),这些目录包含特定城市的时区文件。找到您要用于实例的城市(或您所在时区的城市)。在此示例中,您可以使用洛杉矶的时区文件,/ usr / share / zoneinfo / America / Los_Angeles。

2.使用新时区更新/ etc / sysconfig / clock文件。

a。使用您喜欢的文本编辑器(例如vim或nano)打开/ etc / sysconfig / clock文件。您需要在编辑器命令中使用sudo,因为/ etc / sysconfig / clock由root拥有。

b.Locate ZONE条目,并将其更改为时区文件(省略路径的/ usr / share / zoneinfo部分)。例如,要更改为洛杉矶时区,请将ZONE条目更改为以下内容。

ZONE="America/Los_Angeles"

c。保存文件并退出文本编辑器。

3.在/ etc / localtime和您的时区文件之间创建一个符号链接,以便实例在引用本地时间信息时找到时区文件。

[ec2-user ~]$ sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

4.重新启动系统以获取所有服务和应用程序中的新时区信息。

[ec2-user ~]$ sudo reboot

答案 5 :(得分:4)

来自RHEL 7管理指南

似乎这可能是REDHAT7上的命令

timedatectl set-timezone "Europe/Stockholm"

要获取所有可用的时区类型:

timedatectl list-timezone

获取更多信息

man timedatectrl

答案 6 :(得分:2)

UBUNTU 16.04的更新的答案:

要做:

sudo timedatectl set-timezone America/New_York

更新您的时区。

要列出所有可用时区,您可以执行以下操作:

timedatectl list-timezones

答案 7 :(得分:0)

注意:这是指应在您的AWS启动配置“用户数据”下使用linux框(我的实例中为debian)。

如果您打算在下面的实例启动时使用TIMEZONE(就像魅力一样),请使用您自己的国家/城市而不是“澳大利亚/悉尼”。

#!/bin/bash

/bin/rm -f /etc/localtime; /bin/ln -s /usr/share/zoneinfo/Australia/Sydney /etc/localtime

答案 8 :(得分:0)

在目录/usr/share/zoneinfo/

中找到您的时区

E.g。要更改多伦多/usr/share/zoneinfo/America/Toronto

的时区

将您的时区符号链接到/etc/localtime,例如多伦多

sudo ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime

重新启动完成

reboot

答案 9 :(得分:0)

创建新的EC2实例并选择“ Amazon Linux 2 AMI(HVM)”作为Amazon Machine Image(AMI)时,您可以在“用户数据”部分插入这些行。根据您所在的地区,用适合您的时区更改第二行。我在中欧时间(CET)。请记住,此引导程序代码以root用户身份执行,并且在创建实例时仅执行一次。

#!/bin/bash
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/CET /etc/localtime

如果要查看所有其他可用时区,请SSH到一个实例并运行:

ls /usr/share/zoneinfo

答案 10 :(得分:0)

相关问题