linuxntp同步
① 配置linux的時鍾同步
Ubuntu系統默認的時鍾同步伺服器是ntp.ubuntu.com,Debian則是0.debian.pool.ntp.org等, 各Linux發行版都有自己的NTP官方伺服器。身在中國,使用這些都會有高延遲,但對時鍾同步這件事來說影響不大。
在某些環境下,比如公司內網、雲上子網等,是與互聯網隔絕的。這時要想做時鍾同步,就只能自己配置了。
本文介紹如何自己配置時鍾同步,不介紹如何自建NTP伺服器。
一般timesync是預裝的。如果沒有,可以使用以下命令手動安裝。
sudo apt install systemd-timesyncd 它和ntp是沖突的,二者只能安裝一個。
修改/etc/systemd/timesyncd.conf,把NTP設為華為內綠區可達的NTP伺服器。
修改完成後,需要restart後這個配置才生效。
如果以上systemd-timesyncd.service因為什麼原因而不存在,則可通過以下命令修復:
一般查看日期與時間是使用date。使用timedatectl可以查看到更多時鍾同步相關信息。
以下給出一些阿里雲的NTP列表,可以通過ping擇優使用。
以上就是 良許教程網 為各位朋友分享的配置Linux的時鍾同步。
最後,最近很多小夥伴找我要 Linux學習路線圖 ,於是我根據自己的經驗,利用業余時間熬夜肝了一個月,整理了一份電子書。無論你是面試還是自我提升,相信都會對你有幫助!目錄如下:
免費送給大家,只求大家金指給我點個贊!
電子書 | Linux開發學習路線圖
也希望有小夥伴能加入我,把這份電子書做得更完美!
推薦閱讀:
② linux修改ntp時鍾同步
Linux停止ntp服務即可關閉時間同步。①關閉ntp服務(臨時設置重啟後自動開啟) service ntpd stop②設置永久關閉ntp服務(重啟後也是關閉的) chkconfig ntpd off
③ 想要讓XP系統成為NTP伺服器使得LINUX系統可以與之同步
1、將伺服器類型更改為
NTP。為此,請按照下列步驟操作:
a.
單擊「開始」,單擊「運行」,鍵入
regedit,然後單擊「確定」。
b.
找到並單擊下面的注冊表子項:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
c.
在右窗格中,右鍵單擊「Type」,然後單擊「修改」。
d.
在「編輯值」的「數值數據」框中鍵入
NTP,然後單擊「確定」。
2、設置伺服器,開始菜單,輸入regedit命令後打開注冊表。
3、修改以下選項的鍵
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer內的「Enabled」設定為1,打開NTP伺服器功能。(默認是不開啟NTP
Server服務,除非計算機升級成為域控制站)
4、修改以下鍵值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags設定為5,該設定強制主機將它自身宣布為可靠的時間源,從而使用內置的互補金屬氧化物半導體(CMOS)
時鍾。該設定強制主機將它自身宣告為可靠的時間源,從而運用內置的互補金屬氧化物半導體
(CMOS)
時鍾。假如要採用外面的時間伺服器就用默認的
a
值即可.
5、在命令行執行以下命令重啟Win32Time服務,確保以上修改起作用
net
stop
w32time
net
start
w32time
6、其他:如果該伺服器和internet連接,那麼為了避免伺服器和internet上的ntp同步,最好追加以下配置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient的「enable」設定為0
以防止作為客戶端自動同步外界的時間服務
7、執行linux同步命令
ntpdate
192.168.1.1
#(伺服器IP地址)
hwclock
--systohc
#把時間寫入硬體
④ Linux系統下的NTP配置
第一步,選擇最好的NTP服務地址
具體命令為ntpdate -q IP地址或域名
廣東地區NTP優選結果如下:
①time4.cloud.tencent.com
②server time.asia.apple.com
③server cn.ntp.org.cn
④server ntp.aliyun.com
⑤server cn.pool.ntp.org
檢查BIOS主板時間的命令
hwclock -r
NTP服務啟停命令
sudo systemctl start/stop ntpd
檢查查看ntp伺服器有無和上層ntp連通
ntpstat
查看ntp伺服器與上層ntp的狀態
ntpq -pn
===server選項格式===
server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]
其中host是上層NTP伺服器的IP地址或域名,隨後所跟的參數解釋如下所示:
◆ key: 表示所有發往伺服器的報文包含有秘鑰加密的認證信息,n是32位的整數,表示秘鑰號。
◆ version: 表示發往上層伺服器的報文使用的版本號,n默認是3,可以是1或者2。
◆ prefer: 如果有多個server選項,具有該參數的伺服器優先使用。
◆ mode: 指定數據報文mode欄位的值。
◆ minpoll: 指定與查詢該伺服器的最小時間間隔為2的n次方秒,n默認為6,范圍為4-14。
◆ maxpoll: 指定與查詢該伺服器的最大時間間隔為2的n次方秒,n默認為10,范圍為4-14。
◆ iburst: 當初始同步請求時,採用突發方式接連發送8個報文,時間間隔為2秒。
===同步硬體時鍾===
ntp服務,默認只會同步系統時間。
如果想要讓ntp同時同步硬體時間,可以設置/etc/sysconfig/ntpd文件,
在/etc/sysconfig/ntpd文件中,添加【SYNC_HWCLOCK=yes】這樣,就可以讓硬體時間與系統時間一起同步。
允許BIOS與系統時間同步,也可以通過hwclock -w 命令。
hwclock命令用來查詢和設置硬體時鍾。
hwclock -r 讀取並列印硬體時鍾
hwclock -s 將硬體時鍾同步到系統時鍾
hwclock -w 將系統時鍾同步到硬體時鍾
系統時鍾與硬體時鍾
在Linux中有硬體時鍾與系統時鍾等兩種時鍾。硬體時鍾是指主機板上的時鍾設備,也就是通常可在BIOS畫面設定的時鍾。系統時鍾則是指kernel中的時鍾。當Linux啟動時,系統時鍾會去讀取硬體時鍾的設定,之後系統時鍾即獨立運作。所有Linux相關指令與函數都是讀取系統時鍾的設定。
參考文檔:
Linux伺服器NTP客戶端配置——https://www.cnblogs.com/paul8339/p/10059364.html
NTP服務、客戶端配置詳解——https://blog.51cto.com/u_11392081/1784080
⑤ 如何使兩台linux伺服器時間同步
Linux自帶了ntp服務 -- /etc/init.d/ntpd,這個服務不僅可以設置讓本機和某台/某些機器做時間同步,他本身還可以扮演一個timeserver的角色,讓其他機器和他同步時間。
配置文件就是/etc/ntp.conf。
為了測試,設置讓node2 -- 192.168.1.102和node1 -- 192.168.1.101做時間同步。
第一步,
node1做time server,node1本身不和其他機器時間同步,就是取本地時間。
所以,先把node1機器的時間調准了:
[root@node1 ~]date -s 08/03/2011
[root@node1 ~]date -s11:12:00
[root@node1 ~]clock -w
[root@node1 ~]hwclock --systohc
後兩個命令是把設置的時間寫到硬體時間中去(也就是CMOS裡面的時間)。
第二步,
然後將node1配置成一個time server,修改/etc/ntp.conf,
[root@node1 ~]vi /etc/ntp.conf
其他的配置不怎麼需要改,只需要關注restrict的配置:
1. 注釋掉原來的restrict default ignore這一行,這一行本身是不響應任何的ntp更新請求,其實也就是禁用了本機的ntp server的功能,所以需要注釋掉。
2. 加入:restrict 192.168.1.0 mask 255.255.255.0 -- 讓192.168.1.0/24網段上的機器能和本機做時間同步
3. 這樣就可以了,記得下面的:
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
這兩行需要,這是讓本機的ntpd和本地硬體時間同步。
當然,我們也可以添加server xxx.xxx.xxx.xxx,讓他和其他的time server時間同步。
4. /etc/init.d/ntpd restart
5. chkconfig ntpd on
6. 修改iptables配置,將tcp和udp 123埠開放,這是ntp需要的埠,在/etc/services中可以查到這個埠。
第三步,
這樣node1就成為一台time server了,現在我們配置node2這台機器,也是修改/etc/ntp.conf ,
[root@node2 ~]vi /etc/ntp.conf
1. restrict default ignore這行保留為注釋狀態,因為sales不需要做time server
2. 注釋掉server 127.127.1.0, fudge 127.127.1.0 stratum 10這兩行,因為這台機器不需要和本地硬體時鍾同步了。
3. 加入server 192.168.1.101這行,和node1機器同步。
這樣就OK了。看看時間,已經和node1同步了。往後默認配置好像是5分鍾和time server同步一次。ntpdate命令是顯式的和某台機器做時間同步,以前將ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做這個時間
第四步,將ntpdate放到crontab中定期步也是可以的
[root@node2 ~]#vi ntpupdate.sh
/usr/sbin/ntpdate 192.168.1.101
[root@node2 ~]#chmod 755 ntpupdate.sh
[root@node2 ~]#crontab -e
*/1 * * * * /root/ntpupdate.sh
[root@node2 ~]#/etc/init.d/crond restart
⑥ LINUX時間同步腳本或命令!
Linux
下
時間同步命令:
ntpdate
linux系統下默認安裝了ntp服務,手動進行ntp同步如下
$ntpdate
ntp1.nl.net
當然,也可以指定其它的ntp伺服器
公網上的NTP伺服器列表:
http://www.pool.ntp.org/zone/asia
根據這個列表,中國有個伺服器:cn.pool.ntp.org
用
ntpdate
命令來同步時間:
ntpdate
cn.pool.ntp.org
可以將這個命令加到
cron
table
裡面,每天執行。
⑦ linux 時間同步ntp問題,客戶端如何同步時間
解決方案:
在linux 上配置NTP 時間同步,具休操作步驟,整理如下:
1. 安裝軟體包(在服務端和客戶端):
yum install ntp
2. 伺服器端配置
例如:
首先,服務端設定IP地址為:192.168.146.110
修改ntp配置文件
vim /etc/ntp.conf
server 0.redhat.pool.ntp.org //設定上級伺服器
restrict 192.168.146.0 mask 255.255.255.0 nomodify //設定哪些client機器可以和ntp server進行同步
//啟動NTP服務前,手動校正一次時間
ntpdate 0.redhat.pool.ntp.org
service ntpd restart
chkconfig ntpd on
//查看ntp服務狀態
netstat -ln | grep 123
ntpstat
3.客戶端配置:
ntpdate 192.168.146.110 //與NTP server 同步時間
或者定期同步
crontab -e
*/5 * * * * /usr/sbin/ntpdate -u 192.168.146.110 //每五分鍾同步一次
重啟crond服務/etc/init.d/crond restart
ntpq -p //查看同步狀態
