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



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com