Shell脚本——时间同步
Posted twc829
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于Shell脚本——时间同步的主要内容,如果未能解决你的问题,请参考以下文章
linux文件远程传输客户端shell脚本与分布式客户机时间同步脚本
从 iOS UIAutomation 发出同步 HTTP GET 请求或在 JavaScript 中调用 shell 脚本