因为公司运营海外游戏,服务器也多数放在国外,有时候要求服务器时区和时间要与所服务的地区一致,这里就涉及到更改服务器时区和时间的问题:
下面以一台在美国的服务器为例,我们的IDC提供商是一家德国公司,服务器虽在美国,但服务器时间全是德国柏林时间,而我们的游戏主要又是在阿根廷等南美国家推广,游戏运营活动时间的换算很让人恶心:
把服务器时间更换为阿根廷的 buenos-aires 布宜诺斯艾利斯 西三区区时:
下面是我服务器的当前时间 德国柏林时间:
1.使用tzselect命令对时区进行更改:
#tzselect //在大洲选择界面选择 2 Americas(美洲)
在 Please select a country. 选择3 Argentina
在 Please select one of the following time zone regions. 选择1 Buenos Aires (BA, CF)
在 出现以下界面后 选1 YES 回车:
The following information has been given:
Argentina
Buenos Aires (BA, CF)
Therefore TZ='America/Argentina/Buenos_Aires' will be used.
Local time is now: Mon Aug 15 03:20:20 ART 2016.
Universal Time is now: Mon Aug 15 06:20:20 UTC 2016.
Is the above information OK?
1) Yes
2) No
#? 1
# vim /etc/sysconfig/clock //将配置文件中的 时区更改为 ZONE='America/Argentina/Buenos_Aires'
# rm /etc/localtime //删除原有本地时区关链文件
#ln -sf /usr/share/zoneinfo/America/Argentina/Buenos_Aires /etc/localtime //将时区链接到 America/Argentina/Buenos_Aires
操作完以上步骤 时区更改完成。
2.查看系统硬件时钟 也就是BIOS时间:
#hwclock --show 或者 clock --show //查看硬件时间
#hwclock --set --date="08/16/16 10:30" //设置硬件时钟时间 月/日/年 时:分:秒
# hwclock --hctosys 或者 # clock --hctosys hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟
系统时钟和硬件时钟同步:
# hwclock --systohc或者# clock --systohc 即用系统时钟同步硬件时钟