Linux调整服务器时间
最近在家弄个服务器,搞的外网映射,安装的虚拟机,发现时间有点问题,所以就做了一点调整。
同步时区
- [root@localhost ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 9
Please select one of the following time zone regions.
1) Beijing Time
2) Xinjiang Time
#? 1
The following information has been given:
China
Beijing Time
Therefore TZ='Asia/Shanghai' will be used.
Local time is now: Fri Apr 17 20:46:49 CST 2020.
Universal Time is now: Fri Apr 17 12:46:49 UTC 2020.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
- [root@localhost ~]# TZ='Asia/Shanghai'; export TZ
- [root@localhost ~]# date
系统时间和硬件时间同步
[root@localhost ~]# hwclock --show
Fri 17 Apr 2020 08:50:50 PM CST -0.198298 seconds
[root@localhost ~]# hwclock --systohc
如上两个方法执行后如果不起作用,可这样解决
可能是这样的原因造成的:
[root@localhost ~]# date
Fri Apr 17 10:08:56 EDT 2020
EDT:
指美国东部夏令时间,波士顿、纽约市、华盛顿哥伦比亚特区,都在这个时区内,跟北京时间有12小时的时差,晚12小时。
CST:
可以指下面两种:
-
- 美国中部标准时间(西六区,-6:00),中国是东八区(+8:00),北京时间比美国中部标准时间早14个小时。3:45 PM CST 是北京时间凌晨1:45。
-
- 中澳大利亚标准时间(+10:30),中国是东八区(+8:00),北京时间比中澳大利亚标准时间晚2个半小时。3:45 PM CST 是北京时间下午上午5:45。
那么现在只要改成北京时间的时区CST就可以了,修改如下:
[root@localhost ~]# ntpdate time.windows.com
17 Apr 10:13:37 ntpdate[5752]: adjust time server 40.81.94.65 offset -0.008618 sec
如果执行上面命令提示:-bash: ntpdate: command not found
则执行命令yum install ntpdate
安装 ntpdate
[root@localhost ~]# mv /etc/localtime /etc/localtime.bak
[root@localhost ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost ~]# date
Fri Apr 17 22:14:01 CST 2020
[root@localhost ~]# ntpdate time.windows.com
17 Apr 22:14:10 ntpdate[5768]: adjust time server 40.81.94.65 offset 0.005776 sec