Shell脚本——时间同步

在Linux系统中,为避免主机时间因长时间运作下导致的时间偏差,需进行时间同步synchronize;

一、系统时间与硬件时间

一台计算机有两个时钟,一是硬件时间时钟(RTC,Real Time Clock,又实时时钟),二是系统时钟(System Clock);

1 概念

硬件时钟是嵌在主板上的特殊电路,平时关机后还可计算时间;

系统时钟是操作系统的kernel用以计算时间的时钟;


2 工作原理

在Linux系统下,系统时间在开机时会和硬件时间同步,随后各自独立运行;

默认情况下,系统时间和硬件时间不会自动同步;

硬件时间运行依靠BIOS电池,系统时间运行依靠CPU tick,这也是系统时间长时间运行会产生时间偏差的原因;


3 查看时间

系统时间通过date命令查看,硬件时间通过clock或hwclock命令查看;





二、设置系统时间与硬件时间

1 设置系统时间

date -s "20170522 14:29:25" #或
date -s "2017-05-22 14:29:25" # 或
date -s "14:29:25 20170522" # 或
date -s "14:29:25 2017-05-22" # 或


2 设置硬件时间

hwclock --set --date="2017-05-22 14:29:25"; # 或
clock --set --date "2017-05-22 14:29:25";




三、系统时间和硬件时间同步

1 把系统时间设置成硬件时间

hwclock --systohc


2 把硬件时间设置成系统时间

hwclock --hctosys




四、时间同步设置

1 网络时间协议NTP(Network Time Protocol)

是互联网中时间同步的标准互联网协议;

用于将计算机时间同步到某些时间标准;


2 同步时间

同步时间,需要一个精确的NTP server,可在NTP官网http://www.pool.ntp.org查找离自己最近的NTP server;

同步时间,使用ntpd或ntpdate命令;

(1)ntpd命令不仅是时间同步服务器,还可当作客户端与标准时间服务器进行同步时间,且平滑同步,一点点校正时间;

(2)ntpdate命令是立即同步,直接调整时间;

在生产环境中,慎用ntpdate命令;

ntpd 2.cn.pool.ntp.org


3 定时同步

可在/stc/crontab文件中添加如下内容,使系统每隔十分钟同步一次;

*/10 * * * * ntpdate 1>/dev/null 2>&1


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值