国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Linux 時間同步
Linux時間同步設(shè)置

1.首先需了解linux內(nèi)一任務(wù)計劃工具crontab

crontab可以定時去執(zhí)行你要做的動作

直接用crontab命令編輯 
crontab -u //設(shè)定某個用戶的cron服務(wù),一 般root用戶在執(zhí)行這個命令的時候需要此參數(shù) 
crontab -l //列出某個用戶cron服務(wù)的詳細內(nèi)容 
crontab -r // 刪除某個用戶的cron服務(wù) 
crontab -e //編輯某個用戶的cron服務(wù)

一般使用crontab -e來編輯一個計劃動作,編輯模式同vi編輯器相同

crontab內(nèi)的基本編輯格式如下

*  *  *  *  *  command
分  時  日  月 周   命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份 1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令

crontab文件的一些例子:

30 21 * * * /etc/init.d/smb restart
上面的例子表示每 晚的21:30重啟smb 。

45 4 1,10,22 * * /etc/init.d/smb restart
上面的 例子表示每月1、10、22日的4 : 45重啟smb 。

10 1 * * 6,0 /etc/init.d/smb restart
上面的例子表示 每周六、周日的1 : 10重啟smb 。

0,30 18-23 * * * /etc/init.d/smb restart
上面的 例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟smb 。

0 23 * * 6 /etc/init.d/smb restart
上面的例子表示每星 期六的11 : 00 pm重啟smb 。

* */1 * * * /etc/init.d/smb restart
每一小時重啟 smb

* 23-7/1 * * * /etc/init.d/smb restart
晚上11點 到早上7點之間,每隔一小時重啟smb

0 11 4 * mon-wed /etc/init.d/smb restart
每月的 4號與每周一到周三的11點重啟smb

0 4 1 jan * /etc/init.d/smb restart
一月一號的4點重 啟smb 

2.尋找一個網(wǎng)絡(luò)時間服務(wù)器,比如一些國家授時中心

微軟公司授時主機(美國)
time.windows.com
臺警大授時中心(臺灣)
asia.pool.ntp.org
中 科院授時中心(西安)
210.72.145.44
網(wǎng)通授時中心(北京)
219.158.14.130

3.我們的電腦怎樣去同步授時中心的時間

ntpdate asia.pool.ntp.org

上面此命令就是去同步授時中心的時間

如果要讓系統(tǒng)每天23:00去同步,這樣可以使用上面所將的crontab設(shè)置計劃同步

如下命令

#crontab -e

進入crontab編輯模式,使用方法同vi

輸入 0 23 * * * ntpdate asia.pool.ntp.org >> /var/log/ntpdate.log

保存退出

這樣就完成了你的系統(tǒng)到每天23:00去asia.pool.ntp.org 同步時間,并將同步的日志放到

/var/log/ntpdate.log

 

下面補充一下系統(tǒng)時間的設(shè)置

date -s可以直接設(shè)置系統(tǒng)時間

比如將系統(tǒng)時間設(shè)定成1996年6月10日的命令如下。

#date -s 06/10/96 
將系統(tǒng)時間設(shè)定成下午1點12分0秒的命令如下。 
#date -s 13:12:00

注意,這里說的是系統(tǒng)時間,是linux由操作系統(tǒng)維護的。

在系統(tǒng)啟動時,Linux操作系統(tǒng)將時間從CMOS中讀到系統(tǒng)時間變量中,以后修改時間通過修改系統(tǒng) 時間實現(xiàn)。為了保持系統(tǒng)時間與CMOS時間的一致性,Linux每隔一段時間會將系統(tǒng)時間寫入CMOS。由于該同步是每隔一段時間(大約是11分鐘)進行 的,在我們執(zhí)行date -s后,如果馬上重起機器,修改時間就有可能沒有被寫入CMOS,這就是問題的原因。如果要確保修改生效可以執(zhí)行如下命令。

#clock -w 
這個命令強制把系統(tǒng)時間寫入CMOS





linux時間同步

Network Time Protocol (NTP) 也是RHCE新增的考試要求. 學(xué)習(xí)的時候也順便復(fù)習(xí)了一下如何設(shè)置Linux的時間,現(xiàn)在拿出來和大家分享
設(shè)置NTP服務(wù)器不難但是NTP本身是一個很復(fù)雜的協(xié)議. 這里只是簡要地介紹一下實踐方法
和上次一樣,下面的實驗都在RHEL5上運行

1. 時間和時區(qū)

如果有人問你說現(xiàn)在幾點? 你看了看表回答他說晚上8點了. 這樣回答看上去沒有什么問題,但是如果問你的這個人在歐洲的話那么你的回答就會讓他很疑惑,因為他那里還太陽當空呢.

這里就有產(chǎn)生了一個如何定義時間的問題. 因為在地球環(huán)繞太陽旋轉(zhuǎn)的24個小時中,世界各地日出日落的時間是不一樣的.所以我們才有劃分時區(qū)(timezone) 的必要,也就是把全球劃分成24個不同的時區(qū). 所以我們可以把時間的定義理解為一個時間的值加上所在地的時區(qū)(注意這個所在地可以精確到城市)

地理課上我們都學(xué)過格林威治時間(GMT), 它也就是0時區(qū)時間. 但是我們在計算機中經(jīng)??吹降氖荱TC. 它是Coordinated Universal Time的簡寫. 雖然可以認為UTC和GMT的值相等(誤差相當之小),但是UTC已經(jīng)被認定為是國際標準,所以我們都應(yīng)該遵守標準只使用UTC

那么假如現(xiàn)在中國當?shù)氐臅r間是晚上8點的話,我們可以有下面兩種表示方式

20:00 CST
12:00 UTC

這里的CST是Chinese Standard Time,也就是我們通常所說的北京時間了. 因為中國處在UTC+8時區(qū),依次類推那么也就是12:00 UTC了.

為什么要說這些呢(呵呵這里不是地理論壇吧...)? 

第一,不管通過任何渠道我們想要同步系統(tǒng)的時間,通常提供方只會給出UTC+0的時間值而不會提供時區(qū)(因為它不知道你在哪里).所以當我們設(shè)置系統(tǒng)時間 的時候,設(shè)置好時區(qū)是首先要做的工作
第二,很多國家都有夏令時(我記得小時候中國也實行過一次),那就是在一年當中的某一天時鐘撥快一小時(比如從UTC+8一下變成UTC+9了),那么同 理到時候還要再撥慢回來.如果我們設(shè)置了正確的時區(qū),當需要改變時間的時候系統(tǒng)就會自動替我們調(diào)整

現(xiàn)在我們就來看一下如何在Linux下設(shè)置時區(qū),也就是time zone


2. 如何設(shè)置Linux Time Zone

在Linux下glibc提供了我們事先編譯好的許多timezone文件, 他們就放在/usr/share/zoneinfo這個目錄下,這里基本涵蓋了大部分的國家和城市

代碼:
# ls -F /usr/share/zoneinfo/
Africa/ Chile/ Factory Iceland Mexico/ posix/ Universal
America/ CST6CDT GB Indian/ Mideast/ posixrules US/
Antarctica/ Cuba GB-Eire Iran MST PRC UTC
Arctic/ EET GMT iso3166.tab MST7MDT PST8PDT WET
Asia/ Egypt GMT0 Israel Navajo right/ W-SU
Atlantic/ Eire GMT-0 Jamaica NZ ROC zone.tab
Australia/ EST GMT+0 Japan NZ-CHAT ROK Zulu
Brazil/ EST5EDT Greenwich Kwajalein Pacific/ Singapore
Canada/ Etc/ Hongkong Libya Poland Turkey
CET Europe/ HST MET Portugal UCT

在這里面我們就可以找到自己所在城市的time zone文件. 那么如果我們想查看對于每個time zone當前的時間我們可以用zdump命令

代碼:
# zdump Hongkong
Hongkong Fri Jul 6 06:13:57 2007 HKT

那么我們又怎么來告訴系統(tǒng)我們所在time zone是哪個呢? 方法有很多,這里舉出兩種

第一個就是修改/etc/localtime這個文件,這個文件定義了我么所在的local time zone.
我們可以在/usr/share/zoneinfo下找到我們的time zone文件然后拷貝去到/etc/localtimezone(或者做個symbolic link)

假設(shè)我們現(xiàn)在的time zone是BST(也就是英國的夏令時間,UTC+1)

代碼:
# date
Thu Jul 5 23:33:40 BST 2007

我們想把time zone換成上海所在的時區(qū)就可以這么做

代碼:
# ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
# date
Fri Jul 6 06:35:52 CST 2007

這樣時區(qū)就改過來了(注意時間也做了相應(yīng)的調(diào)整)
void tzset(void);程序中讓時區(qū)生效。
第二種方法也就設(shè)置TZ環(huán)境變量的值. 許多程序和命令都會用到這個變量的值. TZ的值可以有多種格式,最簡單的設(shè)置方法就是使用tzselect命令

代碼:
# tzselect
...
TZ='America/Los_Angeles';export TZ

tzselect會讓你選擇所在的國家和城市(我省略了這些步驟),最后輸出相應(yīng)的TZ變量的值.那么如果你設(shè)置了TZ的值之后時區(qū)就又會發(fā)生變化

代碼:
# date
Thu Jul 5 15:48:11 PDT 2007

通過這兩個例子我們也可以發(fā)現(xiàn)TZ變量的值會override /etc/localtime. 也就是說當TZ變量沒有定義的時候系統(tǒng)才使用/etc/localtime來確定time zone. 所以你想永久修改time zone的話那么可以把TZ變量的設(shè)置寫入/etc/profile里

好了現(xiàn)在我們知道怎么設(shè)置時區(qū)了,下面我們就來看看如何設(shè)置Linux的時間吧


3. Real Time Clock(RTC) and System Clock

說道設(shè)置時間這里還要明確另外一個概念就是在一臺計算機上我們有兩個時鐘:一個稱之為硬件時間時鐘(RTC),還有一個稱之為系統(tǒng)時鐘(System Clock)

硬件時鐘是指嵌在主板上的特殊的電路, 它的存在就是平時我們關(guān)機之后還可以計算時間的原因
系統(tǒng)時鐘就是操作系統(tǒng)的kernel所用來計算時間的時鐘. 它從1970年1月1日00:00:00 UTC時間到目前為止秒數(shù)總和的值 在Linux下系統(tǒng)時間在開機的時候會和硬件時間同步(synchronization),之后也就各自獨立運行了

那么既然兩個時鐘獨自運行,那么時間久了必然就會產(chǎn)生誤差了,下面我們來看一個例子

代碼:
# date
Fri Jul 6 00:27:13 BST 2007
# hwclock --show
Fri 06 Jul 2007 12:27:17 AM BST -0.968931 seconds

通過hwclock --show命令我們可以查看機器上的硬件時間(always in local time zone), 我們可以看到它和系統(tǒng)時間還是有一定的誤差的, 那么我們就需要把他們同步

如果我們想要把硬件時間設(shè)置成系統(tǒng)時間我們可以運行以下命令

代碼:
# hwclock --hctosys

反之,我們也可以把系統(tǒng)時間設(shè)置成硬件時間

代碼:
# hwclock --systohc

那么如果想設(shè)置硬件時間我們可以開機的時候在BIOS里設(shè)定.也可以用hwclock命令

代碼:
# hwclock --set --date="mm/dd/yy hh:mm:ss"

如果想要修改系統(tǒng)時間那么用date命令就最簡單了

代碼:
# date -s "dd/mm/yyyy hh:mm:ss"

現(xiàn)在我們知道了如何設(shè)置系統(tǒng)和硬件的時間. 但問題是如果這兩個時間都不準確了怎么辦? 那么我們就需要在互聯(lián)網(wǎng)上找到一個可以提供我們準確時間的服務(wù)器然后通過一種協(xié)議來同步我們的系統(tǒng)時間,那么這個協(xié)議就是NTP了. 注意接下去我們所要說的同步就都是指系統(tǒng)時間和網(wǎng)絡(luò)服務(wù)器之間的同步了


4. 設(shè)置NTP Server前的準備


其實這個標題應(yīng)該改為設(shè)置"NTP Relay Server"前的準備更加合適. 因為不論我們的計算機配置多好運行時間久了都會產(chǎn)生誤差,所以不足以給互聯(lián)網(wǎng)上的其他服務(wù)器做NTP Server. 真正能夠精確地測算時間的還是原子鐘. 但由于原子鐘十分的昂貴,只有少部分組織擁有, 他們連接到計算機之后就成了一臺真正的NTP Server. 而我們所要做的就是連接到這些服務(wù)器上同步我們系統(tǒng)的時間,然后把我們自己的服務(wù)器做成NTP Relay Server再給互聯(lián)網(wǎng)或者是局域網(wǎng)內(nèi)的用戶提供同步服務(wù)

好了,前面講了一大堆理論,現(xiàn)在我們來動手實踐一下吧. 架設(shè)一個NTP Relay Server其實非常簡單,我們先把需要的RPM包裝上

代碼:
# rpm -ivh ntp-4.2.2p1-5.el5.rpm

那么第一步我們就要找到在互聯(lián)網(wǎng)上給我們提供同步服務(wù)的NTP Server

http://www.pool.ntp.org是 NTP的官方網(wǎng)站,在這上面我們可以找到離我們城市最近的NTP Server. NTP建議我們?yōu)榱吮U蠒r間的準確性,最少找兩個個NTP Server
那么比如在英國的話就可以選擇下面兩個服務(wù)器

0.uk.pool.ntp.org
1.uk.pool.ntp.org

它的一般格式都是number.country.pool.ntp.org

第二步要做的就是在打開NTP服務(wù)器之前先和這些服務(wù)器做一個同步,使得我們機器的時間盡量接近標準時間. 這里我們可以用ntpdate命令

代碼:
# ntpdate 0.uk.pool.ntp.org
6 Jul 01:21:49 ntpdate[4528]: step time server 213.222.193.35 offset -38908.575181 sec
# ntpdate 0.pool.ntp.org
6 Jul 01:21:56 ntpdate[4530]: adjust time server 213.222.193.35 offset -0.000065 sec

假如你的時間差的很離譜的話第一次會看到調(diào)整的幅度比較大,所以保險起見可以運行兩次. 那么為什么在打開NTP服務(wù)之前先要手動運行同步呢? 

1. 因為根據(jù)NTP的設(shè)置,如果你的系統(tǒng)時間比正確時間要快的話那么NTP是不會幫你調(diào)整的,所以要么你把時間設(shè)置回去,要么先做一個手動同步
2. 當你的時間設(shè)置和NTP服務(wù)器的時間相差很大的時候,NTP會花上較長一段時間進行調(diào)整.所以手動同步可以減少這段時間


5. 配置和運行NTP Server

現(xiàn)在我們就來創(chuàng)建NTP的配置文件了, 它就是/etc/ntp.conf. 我們只需要加入上面的NTP Server和一個driftfile就可以了

代碼:
# vi /etc/ntp.conf
server 0.uk.pool.ntp.org
server 1.uk.pool.ntp.org
driftfile /var/lib/ntp/ntp.drift

非常的簡單. 接下來我們就啟動NTP Server,并且設(shè)置其在開機后自動運行

代碼:
# /etc/init.d/ntpd/start
# chkconfig --level 35 ntpd on


6. 查看NTP服務(wù)的運行狀況

現(xiàn)在我們已經(jīng)啟動了NTP的服務(wù),但是我們的系統(tǒng)時間到底和服務(wù)器同步了沒有呢? 為此NTP提供了一個很好的查看工具: ntpq (NTP query)

我建議大家在打開NTP服務(wù)器后就可以運行ntpq命令來監(jiān)測服務(wù)器的運行.這里我們可以使用watch命令來查看一段時間內(nèi)服務(wù)器各項數(shù)值的變化

代碼:
# watch ntpq -p
Every 2.0s: ntpq -p Sat Jul 7 00:41:45 2007

remote refid st t when poll reach delay offset jitter
==============================================================================
+193.60.199.75 193.62.22.98 2 u 52 64 377 8.578 10.203 289.032
*mozart.musicbox 192.5.41.41 2 u 54 64 377 19.301 -60.218 292.411

現(xiàn)在我就來解釋一下其中的含義

remote: 它指的就是本地機器所連接的遠程NTP服務(wù)器

refid: 它指的是給遠程服務(wù)器(e.g. 193.60.199.75)提供時間同步的服務(wù)器

st: 遠程服務(wù)器的級別. 由于NTP是層型結(jié)構(gòu),有頂端的服務(wù)器,多層的Relay Server再到客戶端. 所以服務(wù)器從高到低級別可以設(shè)定為1-16. 為了減緩負荷和網(wǎng)絡(luò)堵塞,原則上應(yīng)該避免直接連接到級別為1的服務(wù)器的.

t: 這個.....我也不知道啥意思^_^

when: 我個人把它理解為一個計時器用來告訴我們還有多久本地機器就需要和遠程服務(wù)器進行一次時間同步

poll: 本地機和遠程服務(wù)器多少時間進行一次同步(單位為秒). 在一開始運行NTP的時候這個poll值會比較小,那樣和服務(wù)器同步的頻率也就增加了,可以盡快調(diào)整到正確的時間范圍.之后poll值會逐漸增大,同步的 頻率也就會相應(yīng)減小

reach: 這是一個八進制值,用來測試能否和服務(wù)器連接.每成功連接一次它的值就會增加

delay: 從本地機發(fā)送同步要求到服務(wù)器的round trip time

offset: 這是個最關(guān)鍵的值, 它告訴了我們本地機和服務(wù)器之間的時間差別. offset越接近于0,我們就和服務(wù)器的時間越接近

jitter: 這是一個用來做統(tǒng)計的值. 它統(tǒng)計了在特定個連續(xù)的連接數(shù)里offset的分布情況. 簡單地說這個數(shù)值的絕對值越小我們和服務(wù)器的時間就越精確

那么大家細心的話就會發(fā)現(xiàn)兩個問題: 第一我們連接的是0.uk.pool.ntp.org為什么和remote server不一樣? 第二那個最前面的+和*都是什么意思呢?

第一個問題不難理解,因為NTP提供給我們的是一個cluster server所以每次連接的得到的服務(wù)器都有可能是不一樣.同樣這也告訴我們了在指定NTP Server的時候應(yīng)該使用hostname而不是IP

第二個問題和第一個相關(guān),既然有這么多的服務(wù)器就是為了在發(fā)生問題的時候其他的服務(wù)器還可以正常地給我們提供服務(wù).那么如何知道這些服務(wù)器的狀態(tài)呢? 這就是第一個記號會告訴我們的信息

*
它告訴我們遠端的服務(wù)器已經(jīng)被確認為我們的主NTP Server,我們系統(tǒng)的時間將由這臺機器所提供

+
它將作為輔助的NTP Server和帶有*號的服務(wù)器一起為我們提供同步服務(wù). 當*號服務(wù)器不可用時它就可以接管

-
遠程服務(wù)器被clustering algorithm認為是不合格的NTP Server

x
遠程服務(wù)器不可用

了解這些之后我們就可以實時監(jiān)測我們系統(tǒng)的時間同步狀況了


7. NTP安全設(shè)置


運行一個NTP Server不需要占用很多的系統(tǒng)資源,所以也不用專門配置獨立的服務(wù)器,就可以給許多client提供時間同步服務(wù), 但是一些基本的安全設(shè)置還是很有必要的
那么這里一個很簡單的思路就是第一我們只允許局域網(wǎng)內(nèi)一部分的用戶連接到我們的服務(wù)器. 第二個就是這些client不能修改我們服務(wù)器上的時間

在/etc/ntp.conf文件中我們可以用restrict關(guān)鍵字來配置上面的要求

首先我們對于默認的client拒絕所有的操作

代碼:
restrict default kod nomodify notrap nopeer noquery

然后允許本機地址一切的操作

代碼:
restrict 127.0.0.1

最后我們允許局域網(wǎng)內(nèi)所有client連接到這臺服務(wù)器同步時間.但是拒絕讓他們修改服務(wù)器上的時間

代碼:
restrict 192.168.1.0 mask 255.255.255.0 nomodify

把這三條加入到/etc/ntp.conf中就完成了我們的簡單配置. NTP還可以用key來做authenticaiton,這里就不詳細介紹了


8. NTP client的設(shè)置

做到這里我們已經(jīng)有了一臺自己的Relay Server.如果我們想讓局域網(wǎng)內(nèi)的其他client都進行時間同步的話那么我們就都應(yīng)該照樣再搭建一臺Relay Server,然后把所有的client都指向這兩臺服務(wù)器(注意不要把所有的client都指向Internet上的服務(wù)器). 只要在client的ntp.conf加上這你自己的服務(wù)器就可以了

代碼:
server ntp1.leonard.com
server ntp2.leonard.com


9. 一些補充和拾遺


1. 配置文件中的driftfile是什么?
我們每一個system clock的頻率都有小小的誤差,這個就是為什么機器運行一段時間后會不精確. NTP會自動來監(jiān)測我們時鐘的誤差值并予以調(diào)整.但問題是這是一個冗長的過程,所以它會把記錄下來的誤差先寫入driftfile.這樣即使你重新開機以 后之前的計算結(jié)果也就不會丟失了

2. 如何同步硬件時鐘?
NTP一般只會同步system clock. 但是如果我們也要同步RTC的話那么只需要把下面的選項打開就可以了

代碼:
# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes

10. 參考資料

1. http://www.freebsd.org/cgi/man.cgi?q...conf&sektion=5 
不知為什么Redhat沒有ntp.conf的man page.費了好大勁才從FreeBSD上找到了.

2. http://www.eecis.udel.edu/~mills/ntp/html/index.html
官方的NTP文檔

3. http://tldp.org/HOWTO/TimePrecision-HOWTO/index.html
The Linux Documentation Project上的NTP HOWTO

4. www.pool.ntp.org/
全球NTP服務(wù)器提供站

國家授時中心服務(wù)器的IP地址:210.72.145.44


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux的時間設(shè)置和同步 (NTP)
時間同步
centos7安裝時勾選了utc怎么辦
ESXi 5.0設(shè)置時間 | 敬一日志
centos7配置NTP時間服務(wù)器
linux時間同步
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服