NTP(Network TimeProtocol,網絡時間協議),使用來使本地機器與服務端機器時間保持同步的一種協議。若是咱們只有一臺機器那麼只須要安裝NTP客戶端ntpdate這個包,而後找一個能用的時間服務器地址就能夠實現本地與遠程服務器時間保持同步。css
若是咱們有多臺機器,其中只有一個能夠訪問公網,咱們稱之爲管理機器,只需給管理器裝上NTP服務端,而後再管理機器上運行NTP守護進程,其它被管理的內網機器同步時使用管理機器的內網IP地址,便可實現集羣中全體機器的時間同步。shell
簡單兩步,搞定單臺機器時間同步。
1 安裝ntpdatecentos
yum install ntpdate
ntpdate無需任何依賴,也能夠直接rpm安裝api
rpm -ivh http://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/ntpdate-4.2.6p5-28.el7.centos.x86_64.rpm
2 與遠程機器時間同步bash
ntp經常使用服務器:
中國國家授時中心:210.72.145.44
NTP服務器(上海) :ntp.api.bz
阿里雲的NTP時間服務器ntp1.aliyun.com
# ntpdate ntp1.aliyun.com
19 Oct 10:07:54 ntpdate[17142]: adjust time server 120.25.115.20 offset 0.026562 sec
顯然這臺機器須要可以訪問互聯網才能實現時間同步,其它更多NTP時間服務器地址可在官網或網上找到,若是是本身測試,能夠先使用date命令修改本地時間,再進行測試。服務器
3. 配置定時任務網絡
3.1 方法一:編輯器
只須要把這條命令寫入定時任何,便可實現自動同步時間。如每10分鐘同步一次時間(以root用戶登陸):工具
# echo "*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1" >> /var/spool/cron/root # crontab -l */10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1
配置用戶定時任務的語法: crontab [-u user]file crontab [-u user] [-l| -r | -e][-i] 參數與說明: crontab -u//設定某個用戶的cron服務 crontab -l//列出某個用戶cron服務的詳細內容 crontab -r//刪除沒個用戶的cron服務 crontab -e//編輯某個用戶的cron服務 例子: 假設當前用戶是root,要創建root用戶的定時任務 crontab -e 選擇編輯器,編輯定時任務(這裏假設是編輯器是vi) 按i進入編輯模式 0 1 * * * /root/test.sh 按esc退出編輯模式進入普通模式,輸入:x或:wq保存退出 查看剛剛輸入的定時任務 crontab -l 或 cat /var/spool/cron/root 根用戶之外的用戶可使用 crontab 工具來配置 cron 任務。全部用戶定義的 crontab 都被保存在 /var/spool/cron 目錄中,並使用建立它們的用戶身份來執行。要以某用戶身份建立一個 crontab 項目,登陸爲該用戶,而後鍵入 crontab -e 命令,使用由 VISUAL 或 EDITOR 環境變量指定的編輯器來編輯該用戶的 crontab。該文件使用的格式和 /etc/crontab 相同。當對 crontab 所作的改變被保存後,該 crontab 文件就會根據該用戶名被保存,並寫入文件 /var/spool/cron/username 中。 cron 守護進程每分鐘都檢查 /etc/crontab 文件、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變。若是發現了改變,它們就會被載入內存。這樣,當某個 crontab 文件改變後就沒必要從新啓動守護進程了。 重啓crond: /sbin/service crond restart
若是咱們須要實現集羣內時間保持同步,顯然最好的方案是本身搭建一臺NTP服務器,而後其它機器同步這臺NTP時間服務器上的時間,而NTP時間服務器同步公網上遠程機器的時間,從而實現整套集羣保持與北京時間同步。測試
1 安裝ntp(NTP服務端的包名)
[root@m01 ~]# hostname -I 10.0.0.61 172.16.1.61 [root@m01 ~]# yum install ntp
2 啓動ntpd服務
[root@m01 ~]# systemctl start ntpd [root@m01 ~]# systemctl enable ntpd
3 其它內網機器同步NTP時間服務器(172.16.1.61)
[root@lb01 ~]# hostname -I 172.16.1.5 [root@lb01 ~]# yum install ntpdate -y [root@lb01 ~]# date -s '20081024' [root@lb01 ~]# ntpdate 172.16.1.61 [root@lb01 ~]# date Fri Oct 19 10:35:35 CST 2018
ntpd服務只要啓動,自動會在後臺爲這臺NTP服務器同步時間(可能須要等幾分鐘),不須要咱們手動操做,其它機器只需同步這臺NTP服務器便可。
另外,記錄下,rdate時間服務器搭建