linux上ntpd ntpdate時間同步

2021-07-10 19:09:08 字數 4232 閱讀 5451

通常情況下linux服務執行

ntpdate

210.72.145.44

就可以進行時間同步,但突然發現伺服器上的時間竟然不準確了,執行ntpdate 210.72.145.44命令提示如下資訊:

[root@hxlinux ~]# ntpdate  210.72

.145

.4425 mar 23:03

:44ntpdate

[2434]: no

server

suitable

forsynchronization

found

210.72.145.44是中國國家授時中心的官方伺服器,不應該出問題的。

停到iptables還是不能進行同步。

man ntpdate看到如下的引數說明:

the -d option always uses unprivileged ports. 執行

[root@hxlinux ~]# ntpdate

-u 210.72

.145

.4428 mar 09:27

:09ntpdate

[2562]: no

server

suitable

forsynchronization

found

不確定路由器上是否關閉了udp的123埠就加上-u引數吧。

[root@localcoohx ~]# ntpdate

ntp.api

.bz 7 may 16:59

:02ntpdate

[2199]: adjust

time

server 61.153

.197

.226

offset 0.001975

sec[root@hxlinux ~]# date

2023年 03月 28日 星期一 09:29

:56cst

同步成功,

附加一下網路上查詢到的其他的時鐘伺服器

(美國)

time.nist.gov

(復旦)(國內使用者推薦)

ntp.fudan.edu.cn

微軟公司授時主機(美國)

time.windows.com

台警大授時中心(台灣)

asia.pool.ntp.org

網通授時中心(北京)

219.158.14.130

time.twc.weather.com

swisstime.ethz.ch

ntp0.fau.de

ntp3.fau.de

time-a.nist.gov

time-b.nist.gov

time-nw.nist.gov

nist1-sj.glassey.com

ntp伺服器(上海)

ntp.api.bz

修改linux的時間可以使用date指令

date命令的功能是顯示和設定系統日期和時間。

輸入date 檢視目前系統時間。

修改時間需要 date -功能字元 修改內容

命令中各選項的含義分別為:

-d datestr, –date datestr 顯示由datestr描述的日期

-s datestr, –set datestr 設定datestr 描述的日期

-u, –universal 顯示或設定通用時間

時間域

%h 小時(00..23)

%i 小時(01..12)

%k 小時(0..23)

%l 小時(1..12)

%m 分(00..59)

%p 顯示出am或pm

%r 時間(hh:mm:ss am或pm),12小時

%s 從2023年1月1日00:00:00到目前經歷的秒數

%s 秒(00..59)

%t 時間(24小時制)(hh:mm:ss)

%x 顯示時間的格式(%h:%m:%s)

%z 時區 日期域

%a 星期幾的簡稱( sun..sat)

%a 星期幾的全稱( sunday..saturday)

%b 月的簡稱(jan..dec)

%b 月的全稱(january..december)

%c 日期和時間( mon nov 8 14:12:46 cst 1999)

%d 乙個月的第幾天(01..31)

%d 日期(mm/dd/yy)

%h 和%b選項相同

%j 一年的第幾天(001..366)

%m 月(01..12)

%w 乙個星期的第幾天(0代表星期天)

%w 一年的第幾個星期(00..53,星期一為第一天)

%x 顯示日期的格式(mm/dd/yy)

%y 年的最後兩個數字( 1999則是99)

%y 年(例如:1970,1996等)

需要特別說明的是,只有超級使用者才能用date命令設定時間,一般使用者只能用date命令顯示時間。

例1:用指定的格式顯示時間。

[root@hxlinux ~]# date '+this date now

is =>%x ,time is

now =>%x ,thank you !'

this date now

is =>2023年03月28日 ,time is

now =>09時31分49秒 ,thank you !

例2:用預定的格式顯示當前的時間。

# date

frinov 26 15:20

:18cst 1999

例3:設定時間為下午14點36分。

# date

-s 14:36

:00fri

nov 26 14:15

:00cst 1999

例4:設定時間為2023年11月28號。

# date

-s 991128

sunnov 28 00:00

:00cst 1999

例項:設定時間偉2023年8月8號12:00

# date -s "2008-08-08 12:00:00"
修改完後,記得輸入:clock -w

把系統時間寫入cmos

ntpd、ntpdate的區別

使用之前得弄清楚乙個問題,ntpd與ntpdate在更新時間時有什麼區別。ntpd不僅僅是時間同步伺服器,他還可以做客戶端與標準時間伺服器進行同步時間,而且是平滑同步,並非ntpdate立即同步,在生產環境中慎用ntpdate,也正如此兩者不可同時執行。

時鐘的躍變,對於某些程式會導致很嚴重的問題。許多應用程式依賴連續的時鐘——畢竟,這是一項常見的假定,即,取得的時間是線性的,一些操作,例如資料庫事務,通常會地依賴這樣的事實:時間不會往回跳躍。不幸的是,ntpdate調整時間的方式就是我們所說的」躍變「:在獲得乙個時間之後,ntpdate使用settimeofday(2)設定系統時間,這有幾個非常明顯的問題:

第一,這樣做不安全。ntpdate的設定依賴於ntp伺服器的安全性,攻擊者可以利用一些軟體設計上的缺陷,拿下ntp伺服器並令與其同步的伺服器執行某些消耗性的任務。由於ntpdate採用的方式是跳變,跟隨它的伺服器無法知道是否發生了異常(時間不一樣的時候,唯一的辦法是以伺服器為準)。

第二,這樣做不精確。一旦ntp伺服器宕機,跟隨它的伺服器也就會無法同步時間。與此不同,ntpd不僅能夠校準計算機的時間,而且能夠校準計算機的時鐘。

第三,這樣做不夠優雅。由於是跳變,而不是使時間變快或變慢,依賴時序的程式會出錯(例如,如果ntpdate發現你的時間快了,則可能會經歷兩個相同的時刻,對某些應用而言,這是致命的)。

因而,唯一乙個可以令時間發生跳變的點,是計算機剛剛啟動,但還沒有啟動很多服務的那個時候。其餘的時候,理想的做法是使用ntpd來校準時鐘,而不是調整計算機時鐘上的時間。

ntpd 在和時間伺服器的同步過程中,會把 bios 計時器的振盪頻率偏差——或者說 local clock 的自然漂移(drift)——記錄下來。這樣即使網路有問題,本機仍然能維持乙個相當精確的走時。

Linux上的亂碼

1 終端亂碼 三個一致原則 1 linux系統 root oracle11g echo lang zh cn.utf 8 2 serurtcrt字元設定 外觀 字元編碼,設定為utf 8 3 serurtcrt字型設定 可選 外觀 字型設定,設定為中文,比如 新宋體 等 下面是有乙個設定正確的例子 ...

Linux上磁碟掛載

linux磁碟掛載 一 磁碟分割槽 在終端輸入fdisk l 命令檢視整個系統的分割槽情況。可以看到還有乙個32g的 dev vdb磁碟沒有掛載使用 輸入fdisk dev vdb 進行分割槽操作 如上圖所示,在command 輸入m可以檢視命令介紹 輸入n新增分割槽,這裡是將32的磁碟全都分成了乙...

linux上的軟體

linux的軟體會集中存放在乙個地方,叫做軟體倉庫,英語是repository 使用者選擇軟體倉庫,因為基本上各個軟體倉庫中的軟體都是一樣的。etc apt sources.list 這個檔案是系統檔案,只能被root使用者修改。所以我們有兩種選擇 sudo nano etc apt sources...