Linux校准时间

Linux校准时间

一. 基本方法:

date -s "2018-09-02 04:23:45"
clock -w 把时间写入cmos(一个RAM芯片)

hwclock 查看硬件时间

hwclock -w :将系统时间写入硬件时间
hwclock --hctosys: 将系统时间调整为和硬件时间一样
hwclock --systohc: 将硬件时间调整为和系统时间一样

例如:在设置中国时区使用亚洲/上海(+8)

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

将UTC时间改为CST格式

/etc/profile末尾添加一行

export TZ='CST-8'
然后执行 source /etc/profile 使文件生效

或者 dpkg-reconfigure tzdata

二. 其他方法:

1. Linux中有个ntp包可以自动校准时间,用来同步网络时间

Debian系统安装NTP校时包:sudo远程指令,sudo shutdown -r now

apt-get install ntpdate

CentOS系统安装NTP校时包:

yum install ntp

校时命令:

ntpdate cn.pool.ntp.org

如果想每隔一定时间自动校时,只需将上面的命令加入至Cron就行了:

00 12 * * * /sbin/ntpdate cn.pool.ntp.org

* cn.pool.ntp.org是ntp网络授时组织的中国授时源,类似的还有ntpdate asia.pool.ntp.org

2. 有时候方法一过段时间又不正常了,可以用下面的方法,快速校对Linux服务器时间至北京时间,参考http://blog.path8.net/archives/6397.html

服务器采用ntp更新时间,经常牵扯到UTC是否开启的问题,开启了时间就会快8个小时,前段时间朋友给我了下面的命令,一条命令解决之前的所有问题。

rdate -t 60 -s stdtime.gov.hk    #使用rdate将stdtime.gov.hk服务器的时间抓取回来
hwclock -w  #将获得的时间写入硬件

rdate的命令使用方法介绍

语  法:rdate [-ps][主机名称或IP地址...]

补充说明:执行rdate指令,向其他主机询问系统时间并显示出来。

参  数:

-p  显示远端主机的日期与时间。

-s  把从远端主机收到的日期和时间,回存到本地主机的系统时间。

-t  Set timeout in seconds for every attempt to retreive date. ubuntu下没这个参数。

posted @ 2021-09-11 18:33  MustardGuys  阅读(1039)  评论(0编辑  收藏  举报