将时区改为utc
开发提出需求说,某个模块是给洋人使用,于是把阿里云服务器里的时间改成UTC时间。我登陆到服务器里使用date
查看了一下,发现目前使用的是东八区时间,如图:
首先先开启UTC,方法就是在/etc/sysconfig/clock
的文件里修改这样一处:UTC=true
。这样即使机器重启,UTC时间依旧会“BIOS ▶ UTC时区转换 ▶ 系统时间
”的顺序正常使用。
在Centos 6.5里,各时区的时间是在一个叫/usr/share/zoneinfo/
的文件夹下,在里面我们发现了我们的目标—-UTC
,如图:
然后就是修改,方法如下:
1
2mv /etc/localtime /etc/localtime-bak
ln -s /usr/share/zoneinfo/UTC /etc/localtime
先把老的时间文件备份,然后把UTC文件做一个软连接过来即可。我们所熟悉的date
命令就是/etc/localtime
的输出结果。
现在去date
一下,看看结果,果然改成了UTC
:
这个时候,如果你服务器里装的是nginx的话,就会发现nginx日志里的时间也会变成UTC
而不会再是CST
了。
更改系统时间
云服务器一般来说系统时间都是正确的,但是自己的服务器可能在安装系统之后的时间是不统一的,这样可能在集群里就会出问题。时间同步的步骤如下:
1
2
3
4yum install -y ntpdate #下载ntp同步工具
mv /etc/localtime /etc/localtime-bak #备份原有文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #时区调整为上海
ntpdate us.pool.ntp.org #与时区服务器同步时间
然后在crontab里添加一个每10分钟同步时间的命令:*/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP
。
如果服务器是没有公网的,那么也就无法下载ntpdate,此时只能用date -s
命令手动更改时间,比如:date -s 23:40:00
、date -s 20180703
。