欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux中使用NTP保持精確時間的方法詳解

 更新時間:2018年03月20日 08:31:46   作者:qhwdw  
Linux系統(tǒng)下,一般使用ntp服務來同步不同機器的時間,NTP 是網(wǎng)絡時間協(xié)議(Network Time Protocol)的簡稱,下面這篇文章主要給大家介紹了關于Linux中使用NTP保持精確的時間的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。

前言

如何保持正確的時間,如何使用 NTP 和 systemd 讓你的計算機在不濫用時間服務器的前提下保持同步。下面話不多說了,來一起看看詳細的介紹吧。

它的時間是多少?

讓 Linux 來告訴你時間的時候,它是很奇怪的。你可能認為是使用 time 命令來告訴你時間,其實并不是,因為 time 只是一個測量一個進程運行了多少時間的計時器。為得到時間,你需要運行的是 date 命令,你想查看更多的日期,你可以運行 cal 命令。文件上的時間戳也是一個容易混淆的地方,因為根據(jù)你的發(fā)行版默認情況不同,它一般有兩種不同的顯示方法。下面是來自 Ubuntu 16.04 LTS 的示例:

$ ls -l
drwxrwxr-x 5 carla carla 4096 Mar 27 2017 stuff
drwxrwxr-x 2 carla carla 4096 Dec 8 11:32 things
-rw-rw-r-- 1 carla carla 626052 Nov 21 12:07 fatpdf.pdf
-rw-rw-r-- 1 carla carla 2781 Apr 18 2017 oddlots.txt

有些顯示年,有些顯示時間,這樣的方式讓你的文件更混亂。GNU 默認的情況是,如果你的文件在六個月以內,則顯示時間而不是年。我想這樣做可能是有原因的。如果你的 Linux 是這樣的,嘗試用 ls -l --time-style=long-iso 命令,讓時間戳用同一種方式去顯示,按字母順序排序。請查閱 如何更改 Linux 的日期和時間:簡單的命令 去學習 Linux 上管理時間的各種方法。

檢查當前設置

NTP —— 網(wǎng)絡時間協(xié)議,它是保持計算機正確時間的老式方法。ntpd 是 NTP 守護程序,它通過周期性地查詢公共時間服務器來按需調整你的計算機時間。它是一個簡單的、輕量級的協(xié)議,使用它的基本功能時設置非常容易。systemd 通過使用 systemd-timesyncd.service 已經越俎代庖地 “干了 NTP 的活”,它可以用作 ntpd 的客戶端。

在我們開始與 NTP “打交道” 之前,先花一些時間來了檢查一下當前的時間設置是否正確。

你的系統(tǒng)上(至少)有兩個時鐘:系統(tǒng)時間 —— 它由 Linux 內核管理,第二個是你的主板上的硬件時鐘,它也稱為實時時鐘(RTC)。當你進入系統(tǒng)的 BIOS 時,你可以看到你的硬件時鐘的時間,你也可以去改變它的設置。當你安裝一個新的 Linux 時,在一些圖形化的時間管理器中,你會被詢問是否設置你的 RTC 為 UTC(世界標準時間Coordinated Universal Time)時區(qū),因為所有的時區(qū)和夏令時都是基于 UTC 的。

你可以使用 hwclock 命令去檢查:

$ sudo hwclock --debug
hwclock from util-linux 2.27.1
Using the /dev interface to the clock.
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2018/01/22 22:14:31
Hw clock time : 2018/01/22 22:14:31 = 1516659271 seconds since 1969
Time since last adjustment is 1516659271 seconds
Calculated Hardware Clock drift is 0.000000 seconds
Mon 22 Jan 2018 02:14:30 PM PST .202760 seconds

Hardware clock is on UTC time 表明了你的計算機的 RTC 是使用 UTC 時間的,雖然它把該時間轉換為你的本地時間。如果它被設置為本地時間,它將顯示 Hardware clock is on local time。

你應該有一個 /etc/adjtime 文件。如果沒有的話,使用如下命令同步你的 RTC 為系統(tǒng)時間,

$ sudo hwclock -w

這個命令將生成該文件,內容看起來類似如下:

$ cat /etc/adjtime
0.000000 1516661953 0.000000
1516661953
UTC

新發(fā)明的 systemd 方式是去運行 timedatectl 命令,運行它不需要 root 權限:

$ timedatectl
 Local time: Mon 2018-01-22 14:17:51 PST
 Universal time: Mon 2018-01-22 22:17:51 UTC
 RTC time: Mon 2018-01-22 22:17:51
 Time zone: America/Los_Angeles (PST, -0800)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

RTC in local TZ: no 表明它使用 UTC 時間。那么怎么改成使用本地時間?這里有許多種方法可以做到。最簡單的方法是使用一個圖形配置工具,比如像 openSUSE 中的 YaST。你也可使用 timedatectl:

$ timedatectl set-local-rtc 0

或者編輯 /etc/adjtime,將 UTC 替換為 LOCAL。

systemd-timesyncd 客戶端

現(xiàn)在,我已經累了,但是我們剛到非常精彩的部分。誰能想到計時如此復雜?我們甚至還沒有了解到它的皮毛;閱讀 man 8 hwclock 去了解你的計算機如何保持時間的詳細內容。

systemd 提供了 systemd-timesyncd.service 客戶端,它可以查詢遠程時間服務器并調整你的本地系統(tǒng)時間。在 /etc/systemd/timesyncd.conf 中配置你的(時間)服務器。大多數(shù) Linux 發(fā)行版都提供了一個默認配置,它指向他們維護的時間服務器上,比如,以下是 Fedora 的:

[Time]
#NTP=
#FallbackNTP=0.fedora.pool.ntp.org 1.fedora.pool.ntp.org

你可以輸入你希望使用的其它時間服務器,比如你自己的本地 NTP 服務器,在 NTP= 行上輸入一個以空格分隔的服務器列表。(別忘了取消這一行的注釋)NTP= 行上的任何內容都將覆蓋掉 FallbackNTP 行上的配置項。

如果你不想使用 systemd 呢?那么,你將需要 NTP 就行。

配置 NTP 服務器和客戶端

配置你自己的局域網(wǎng) NTP 服務器是一個非常好的實踐,這樣你的網(wǎng)內計算機就不需要不停查詢公共 NTP 服務器。在大多數(shù) Linux 上的 NTP 都來自 ntp 包,它們大多都提供 /etc/ntp.conf 文件去配置時間服務器。查閱 NTP 時間服務器池 去找到你所在的區(qū)域的合適的 NTP 服務器池。然后在你的 /etc/ntp.conf 中輸入 4 - 5 個服務器,每個服務器用單獨的一行:

driftfile /var/ntp.drift
logfile /var/log/ntp.log
server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

driftfile 告訴 ntpd 它需要保存用于啟動時使用時間服務器快速同步你的系統(tǒng)時鐘的信息。而日志也將保存在他們自己指定的目錄中,而不是轉儲到 syslog 中。如果你的 Linux 發(fā)行版默認提供了這些文件,請使用它們。

現(xiàn)在去啟動守護程序;在大多數(shù)主流的 Linux 中它的命令是 sudo systemctl start ntpd。讓它運行幾分鐘之后,我們再次去檢查它的狀態(tài):

$ ntpq -p
 remote refid st t when poll reach delay offset jitter
==============================================================
+dev.smatwebdesi 192.168.194.89 3 u 25 64 37 92.456 -6.395 18.530
*chl.la 127.67.113.92 2 u 23 64 37 75.175 8.820 8.230
+four0.fairy.mat 35.73.197.144 2 u 22 64 37 116.272 -10.033 40.151
-195.21.152.161 195.66.241.2 2 u 27 64 37 107.559 1.822 27.346

我不知道這些內容是什么意思,但重要的是,你的守護程序已經與時間服務器開始對話了,而這正是我們所需要的。你可以去運行 sudo systemctl enable ntpd 命令,永久啟用它。如果你的 Linux 沒有使用 systemd,那么,給你留下的家庭作業(yè)就是找出如何去運行 ntpd。

現(xiàn)在,你可以在你的局域網(wǎng)中的其它計算機上設置 systemd-timesyncd,這樣它們就可以使用你的本地 NTP 服務器了,或者,在它們上面安裝 NTP,然后在它們的 /etc/ntp.conf 上輸入你的本地 NTP 服務器。

NTP 服務器會受到攻擊,而且需求在不斷增加。你可以通過運行你自己的公共 NTP 服務器來提供幫助。下周我們將學習如何運行你自己的公共服務器。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • PHP程序員玩轉Linux系列 nginx初學者引導

    PHP程序員玩轉Linux系列 nginx初學者引導

    這篇文章主要為大家詳細介紹了PHP程序員玩轉Linux系列文章,帶大家初步認識一下nginx,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 如何禁止網(wǎng)站內容被搜索引擎收錄的幾種方法講解

    如何禁止網(wǎng)站內容被搜索引擎收錄的幾種方法講解

    今天小編就為大家分享一篇關于如何禁止網(wǎng)站內容被搜索引擎收錄的幾種方法講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • centos6.5下安裝zabbix2.4的教程圖解

    centos6.5下安裝zabbix2.4的教程圖解

    這篇文章主要介紹了centos6.5下安裝zabbix2.4的教程圖解,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • xshell 遠程登陸CentOS7 免密登陸的思路詳解

    xshell 遠程登陸CentOS7 免密登陸的思路詳解

    這篇文章主要介紹了xshell 遠程登陸CentOS7 免密登陸的思路,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析

    Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析

    這篇文章主要介紹了Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 詳解SSH如何配置key免密碼登錄

    詳解SSH如何配置key免密碼登錄

    這篇文章主要介紹了詳解SSH如何配置key免密碼登錄的相關資料,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • 探索Linux內核:Kconfig的秘密

    探索Linux內核:Kconfig的秘密

    今天小編就為大家分享一篇關于探索Linux內核:Kconfig的秘密,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Apache由http自動跳轉到https的多種方法

    Apache由http自動跳轉到https的多種方法

    本文主要和大家分享Apache http自動跳轉到https的幾種方法,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2018-02-02
  • Linux ssh服務器配置代碼實例

    Linux ssh服務器配置代碼實例

    這篇文章主要介紹了Linux ssh服務器配置代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Centos6安裝中文字體的方法

    Centos6安裝中文字體的方法

    這篇文章主要介紹了Centos6安裝中文字體的方法,本文給大家介紹的非常詳細具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10

最新評論