很多装过Linux系统的人有着样的经历,就是Linux的时间和自己主机上的时间不一致。这是因为在安装Linux系统是采用了UTC,所谓UTC就是国际标准,可以理解为就是0时区的时间,而中国处于UTC+8时区,所以时间会不一样。
那么如何修改尼?
我们先看几个常用关于时间的命令
- date命令
# date //显示系统时间
- hwclock命令
# hwclock //显示硬件时间
# hwclock //将系统时间写入系统硬件中
- ntpdate命令
# ntpdate //是Linux时间同步服务软件
- tzselect命令
# tzselect //设置时区
第一、查看Linux是否安装ntpdate服务,如果没有安装:
# yum install -y ntpstall
第二、同步时间
输入命令:
# ntpdate time.nist.gov
如果有这样的显示,代表同步成功,大致意思为调整时间为服务器132.163.96.1的时间,相差0.020961秒的时间
如果time.nist.gov服务器不能同步,可以换用下面几个时间服务器:
time.nist.gov
time.nuri.net
0.asia.pool.ntp.org
1.asia.pool.ntp.org
2.asia.pool.ntp.org
3.asia.pool.ntp.org
当然也可以直接使用IP连接,比如:
# ntpdate 120.24.81.91
第三、调整硬件时间
# hwclock -w
# date
# hwclock
执行完上述步骤后,显示的时间应该是一样的。
第四、定时执行时间同步任务
# crontab -e 11 * * * root ntpdatetime.nuri.net;hwclock -w
即每天十一点同步一下Internet时间
如果,上述第二步就执行错误,这时候就要直接执行第三步,如果发现两者的时间是一样的,那就说明是时区没有设置。这时候就要使用tzselect命令。
注意:tzselect命令只是告诉了设置时区的方法,而并不是真的去修改/etc/sysconfig/clock这个文件。
tzselect:
执行命令—>选择5(Asia)—>选择China(9)—>选择Beijing Time(1)—>Yes(1)。如下图:
第二步:执行完上述命令后,时区并没有发生变化,这时:
# TZ=\'Asia/Shanghai\';export TZ
使用date命令,会看到:时区变为CST(中国标准时间)
第三步:
链接到上海时区文件:
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
执行完上述步骤后,重启系统,即可看到时区已经更改。