如何修改Linux服务器日期时间及时区
最近碰到一个奇怪问题,调用第三方接口时,返回{resultCode=INVALID_PARAMETER, resultMsg=too long time span between now and req_time},
参数异常,请求时间离现在时间太久.
于是把参数打印出来,一切正常,参数也就一个流程ID,
最后仔细琢磨后面那句话,是不是时间不对,查看服务器时间,果然服务器时间比现在快了几分钟
一.如何修改时间和日期?
查看时间和日期: date
修改系统日期: date -s 11/03/2009
修改系统时间: date -s 17:55:55
同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入: date -s "2007-08-03 14:15:00"
上述修改只是修改了linux的系统时间,CMOS中的时间可能还没有改变,所以为了保险,需要使用 clock -w 把当前系统时间写入到CMOS中。
系统时间和CMOS时间的关系。系统时间是由linux操作系统来维护的;CMOS时间是CMOS芯片保存的时间。系统启动时,操作系统将从CMOS读出时间记录为系统时间,同时操作系统也会自动每隔一段时间将系统时间写入CMOS中。如果使用date命令修改系统时间后马上重启电脑,操作系统还没有将系统时间同步到CMOS,这样开机后就还是没有修改前的时间了,所以为了保险起见,最还还是手动使用命令 clock 将系统时间同步到CMOS中。
另外还有个hwclock -w 把当前系统时间写入到BIOS中,指的是硬件时间.
二.此外如果你的服务器时区不对,如何查看和修改呢?
查看时区: date -R
修改时区:
1.#删除当前默认时区www.kwx.gd
rm -rf /etc/localtime
2.#复制替换默认时区为上海
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
三.是否可以设置自动同步时间?
-
yum install -y ntp #安装时间同步服务(组件)
-
ntpdate asia.pool.ntp.org #设置同步服务器,asia.pool.ntp.org是台警大授时中心(台湾)
-
date #查看当前时间www