当前位置: 首页>>技术教程>>正文


如何在Amazon EC2中设置时区?

, ,

问题描述

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

我的问题

如何在Amazon EC2中更改时区?

最佳思路

它应该与您的桌面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.
    

更新资料

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

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

您也可以参考此Wikipedia article

巴西

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

次佳思路

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

删除本地时间文件

sudo rm /etc/localtime

将目录更改为ZoneInfo

cd /usr/share/zoneinfo

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

创建到/etc /localtime的软链接

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

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

第三种思路

通过检查您当前的时区

$ date

要更改它,请运行

$ sudo dpkg-reconfigure tzdata

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

第四种思路

可在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文件。

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

b。找到“ 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

第五种思路

上述步骤均不适合我,因此请考虑在此处编写此新答案

# 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

第六种思路

从RHEL 7管理指南

似乎这可能是REDHAT7上的命令

timedatectl set-timezone "Europe/Stockholm"

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

timedatectl list-timezone

有关更多信息,请使用

man timedatectrl

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8281.html,未经允许,请勿转载。