如何在Amazon EC2中设置时区?

Gau*_*wal 63 ubuntu amazon-ec2 amazon-web-services

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

我的问题

如何更改Amazon EC2中的时区?

Nis*_*ant 78

它应该与您的桌面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.
    
    Run Code Online (Sandbox Code Playgroud)

更新

您可以使用tzselect实用程序进行浏览.请参见此处:http://manpages.ubuntu.com/manpages/precise/man1/tzselect.1.html

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

您也可以参考这篇维基百科文章

巴西

Brazil/Acre
Brazil/DeNoronha
Brazil/East
Brazil/West
Run Code Online (Sandbox Code Playgroud)

  • 我得到这个回复`sudo:dpkg-reconfigure:command not found` (3认同)
  • 对于从命令行的Ubuntu,以下链接提供了简单的1行命令:http://askubuntu.com/a/524362/182454 (3认同)

ajt*_*rds 49

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

删除您的本地时间文件

sudo rm /etc/localtime
Run Code Online (Sandbox Code Playgroud)

将目录更改为ZoneInfo

cd /usr/share/zoneinfo
Run Code Online (Sandbox Code Playgroud)

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

创建/ etc/localtime的软链接

sudo ln -s /usr/share/zoneinfo/GB /etc/localtime
Run Code Online (Sandbox Code Playgroud)

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


小智 24

检查您当前的时区

$ date
Run Code Online (Sandbox Code Playgroud)

要更改它,请运行

$ sudo dpkg-reconfigure tzdata
Run Code Online (Sandbox Code Playgroud)

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

  • 这次真是万分感谢。这很简单,无痛,而且比其他人的答案少了很多步骤。我尝试了亚马逊文档中概述的步骤,但没有成功。这就像一个魅力。 (4认同)
  • 绝对应该是公认的答案。 (3认同)
  • 这对我有用。很简单 (2认同)

小智 14

对于 Red Hat 或 CentOS:

检查时间:

timedatectl status

列出所有可用时区:

timedatectl list-timezones

设置您的时区:

sudo timedatectl set-timezone Europe/Paris


Var*_*run 10

有关更改ec2机器中时区的aws 文档中的信息.请在下面找到详细信息:

更改时区

默认情况下,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
...
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

ZONE="America/Los_Angeles"
Run Code Online (Sandbox Code Playgroud)

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

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

[ec2-user ~]$ sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
Run Code Online (Sandbox Code Playgroud)

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

[ec2-user ~]$ sudo reboot
Run Code Online (Sandbox Code Playgroud)

  • 在我的ubuntu 14.04上没有`/ etc/sysconfig`文件夹 (2认同)

Hem*_*ant 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
Run Code Online (Sandbox Code Playgroud)


Ant*_*ley 7

在目录中找到您的时区/usr/share/zoneinfo/

例如更改多伦多的时区 /usr/share/zoneinfo/America/Toronto

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

sudo ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime
Run Code Online (Sandbox Code Playgroud)

重启完成

reboot
Run Code Online (Sandbox Code Playgroud)


Aak*_*tra 7

Ubuntu 16.04 的更新答案:

做:

sudo timedatectl set-timezone America/New_York
Run Code Online (Sandbox Code Playgroud)

更新您的时区。

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

timedatectl list-timezones
Run Code Online (Sandbox Code Playgroud)


The*_*ger 5

从RHEL 7管理指南

似乎这可能是REDHAT7上的命令

timedatectl set-timezone "Europe/Stockholm"
Run Code Online (Sandbox Code Playgroud)

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

timedatectl list-timezone
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请使用

man timedatectrl
Run Code Online (Sandbox Code Playgroud)