如何在Amazon EC2中设置时区?

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

我的问题

如何更改Amazon EC2中的时区?

它应该与你的桌面Ubuntu进程没有什么不同。 看到这里

  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. 

更新

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

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

你也可以参考这个维基百科的文章

巴西

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

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

删除您的本地时间文件

 sudo rm /etc/localtime 

将目录更改为ZoneInfo

 cd /usr/share/zoneinfo 

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

创build一个到/ etc / localtime的软链接

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

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

上述步骤都没有为我工作,所以想到在这里写这个新的答案

 # 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 

检查您当前的时区

 $ date 

要改变它,运行

 $ sudo dpkg-reconfigure tzdata 

这将显示地理区域的列表。 select缩小可用时区。 接下来select城市/时区。 而且你已经将系统更改为新的时区。

有关更改ec2机器中的时区的信息,请参阅aws 文档 。请在下面find详细信息:

更改时区

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

更改实例上的时区

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 ... 

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

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

a。打开你喜欢的文本编辑器(如vim或nano)的/ etc / sysconfig / clock文件。 你需要使用你的编辑器命令使用sudo,因为/ etc / sysconfig / clock属于root。

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

 ZONE="America/Los_Angeles" 

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

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

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

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

 [ec2-user ~]$ sudo reboot 

从RHEL 7pipe理员指南

看起来这可能是REDHAT7上的命令

 timedatectl set-timezone "Europe/Stockholm" 

要获取所有可用的时区,请键入:

 timedatectl list-timezone 

了解更多信息

 man timedatectrl 

注:这指的是一个Linux机器(在我的例子中是debian),应该在您的AWS启动configuration“用户数据”下使用。

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

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