2012-08-13 1051 views

回答

71

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

+1,谢谢,我怎样才能为不同的国家设置它,就像我必须设置挪威时区和巴西时区一样。 – 2012-08-13 10:01:10

+0

@codingcrow更新。 – Nishant 2012-08-13 10:21:24

+1

我得到这个响应'sudo:dpkg-reconfigure:command not found' – 2012-08-13 11:24:30

35

改变时间(这是在Amazon EC2 Linux实例完成)

删除您的本地时间文件的另一种方式

sudo rm /etc/localtime 

更改目录到时区信息

cd /usr/share/zoneinfo 

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

创建一个软链接到/ etc /本地时间

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

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

+1

你也应该sudo ln -s命令。 – Theodoros80 2013-09-13 10:11:48

+0

是的你的权利。谢谢@ Theodoros80 – ajtrichards 2013-09-13 11:53:04

+0

简单而优雅..谢谢你 – srikayala 2017-03-22 06:26:34

7

无上述步骤为我工作,所以想在这里写这篇新答案

# 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 
+1

只有这个方法对我也有效。 浪费了我生命中的2小时TT – 2016-05-09 06:33:43

+0

如果你使用'ln -f ...',那么首先调用'rm'重复是多余的,反之亦然。 – StvnW 2017-08-29 13:18:11

+0

在ubuntu中不起作用 – 2017-12-27 23:46:48

6

有关更改ec2机器中的时区的信息,请参阅aws documentation.Plea SE找到下面的详细信息:

更改时区

亚马逊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 
... 

一些在此位置的条目是目录(如美国),以及这些目录包含特定城市的时区文件。查找您的城市(或您所在时区的城市)以用于实例。在本例中,您可以使用洛杉矶的时区文件/ 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" 

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

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

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

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

[ec2-user ~]$ sudo reboot 
+0

虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – 2015-10-03 04:29:02

+0

@不幸运:这是有道理的,所以更新了帖子中的信息。但是为什么-1这个帖子,虽然它是一个链接,但它是有用的。 – Varun 2015-10-03 08:46:35

+2

在我的ubuntu 14.04上没有'/ etc/sysconfig'文件夹 – NineCattoRules 2016-04-25 10:08:54

8

查看当前的时区由

$ date 

要改变它,运行

$ sudo dpkg-reconfigure tzdata 

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

+0

谢谢你。这是简单的,无痛的,比其他人的答案少得多的步骤。我尝试了亚马逊文档中列出的步骤,但那不起作用。这工作像一个魅力。 – 2017-07-28 04:02:01

2

从RHEL 7管理指南

看来这可能是命令上RedHat7中

timedatectl set-timezone "Europe/Stockholm" 

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

timedatectl list-timezone 

更多信息使用

man timedatectrl 
0

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

如果您打算在下面的实例引导使用(如魅力)使用您自己的国家/城市,而不是“澳大利亚/悉尼”设置TIMEZONE。

#!/bin/bash 

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