幫助中心
這里有最新的使用文檔和教程
Linux同步時間的方法
強烈建議以下方案:
設置時區:timedatectl set-timezone Asia/Shanghai
設置硬件時間:hwclock --set --date="05/24/23 15:33"
查看硬件時間:hwclock --show
設置系統時間與硬件時間同步:hwclock --systohc
查看系統時間date
方法一:非生產時使用
第一種是在所有機器上,使用連接工具的并發命令功能,同時運行修改時間命令,比如執行date -s “2019-05-25 17:00:00” ,這個方法適合自己測試環境用
第二種就是安裝了一個ntpdate命令,然后同步時間的master是一個所有人都可以用的master
安裝工具
yum -y install ntp ntpdate
同步網絡時間
ntpdate cn.pool.ntp.org
方法二:NTP服務
使用ntpd server,為多臺機器同步時間,這里以三臺機器為例
第一步:在三臺機器上運行ntpdate命令,驗證是否安裝有ntpdate,如果沒有運行yum -y install ntp安裝該服務
第二步:選出一臺機器,做master,編輯它的/etc/ntp.conf文件
進入配置文件之后,首先將配置文件中所有的restrict開頭的行注釋掉,如下面這種
其后另寫一條生效的服務配置
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
格式:restrict 允許的ip范圍一般默認就行 mask 允許同步的網段子網掩碼 nomodify notrap
將所有server開頭的行全部注釋,添加如下的新信息
server 127.127.1.0
fudge 127.127.1.0 stratum 10
第三步:master啟動ntp服務并開機自啟
service ntpd restart
chkconfig ntpd on
第四步:所有子節點運行命令,同步master的時間。
ntpdate master節點ip
如果子節點運行命令之后,如果提示no server那就等兩分鐘左右在在運行
如果提示`the NTP socket is in use, exiting`說明當前子節點的ntp服務啟動了,你要關掉它
第五步:讓集群自己同步時間,有兩種方式
第一種方式:通過crontab來完成同步,推薦這種,容易控制時間同步頻率
所有子節點配置定時任務,半分鐘同步一次,命令如下:
crontab -e
上面的命令會打開linux自帶的定時任務列表在其中添加如下一條信息:
30 * * * * /usr/sbin/ntpdate master的ip或域名 >> /root/ntpdate.log 2>&1
后期需要觀察一下/root/ntpdate.log中有沒有定時同步時間的運行日志
說明一下:30 * * * * 代表了五個時間占位符,上面寫的代表30分鐘同步一次,你可以自己改,五個站位符號按順序分別為分、時、日、月、天
* * * * *
| | | | |
| | | | +----- 星期中星期幾 (0 - 6) (星期天 為0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一個月中的第幾天 (1 - 31)
| +-------------------- 小時 (0 - 23)
+------------------------- 一小時中的某分鐘 (0 - 59)
一般情況下直接指定數字就夠了,但是它可以指定表達式來完成更多變的事件指定,表達式很簡單,網上搜索案例就行了
第二種方式:依賴于ntp服務
所有子節點同樣配置/etc/ntp.conf文件,不過不需要master那樣麻煩,只需要注釋所有restrict和server配置,添加“server master節點ip”即可,最后保證所有節點啟動并設置開機自啟ntp服務
但是這個方法推薦,有時候不一定靈不靈,而且無法靈活的控制頻率