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

centos7以上可以命令:timedatectl set-timezone Asia/Shanghai

 

将UTC时间改为CST格式

/etc/profile末尾添加一行

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

 

或者  dpkg-reconfigure tzdata

 

 
 
 
二. 其他方法:
 
1. Linux中有个ntp包可以自动校准时间,用来同步网络时间
 
Debian系统安装NTP校时包:
   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 @ 2017-11-15 09:41  坚强的小蚂蚁  阅读(5572)  评论(0编辑  收藏  举报