A. 如何讓linux時間與internet時間同步
輸入ntpdate time.nist.gov同步網路時間
結果:3 Jun 15:42:39 ntpdate[4721]: adjust time server 211.115.194.21 offset -0.005885 sec
出現上述結果代表時間同步成功,上面的大致意思為調整時間為伺服器211.115.194.21的時間,相差-0.005885秒的時間
如果上面time.nist.gov伺服器同步不了,可以換下面幾個時間伺服器試試:
time.nist.gov
time.nuri.net
0.asia.pool.ntp.org
1.asia.pool.ntp.org
2.asia.pool.ntp.org
3.asia.pool.ntp.org
同步時間成功後調整硬體時間
#hwclock -w
執行成功後,查看系統硬體時間(不出意外的話,現在date和hwclock現實的時間均為internet時間)
#date
#hwclock
執行上述命令,顯示的時間應該一樣的
定時執行時間同步任務,所以我們利用crontab -e 來添加定時任務
#* */1 * * * root ntpdatetime.nuri.net;hwclock -w
即:每隔一個小時同步一下internet時間。
B. 如何使兩台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
C. linux虛擬機時間與windows時間如何同步
要讓虛擬機的linux和實際時間一致,最簡單的步驟是:
(1)將虛擬機linux和主機時間同步,可以先在虛擬機的設置裡面-選項-VMware Tools開啟客戶機與主機時間同步(其實默認就開的)
(2)開啟了時間同步但是還是和實際時間不一樣,那麼可能是時區設置不對,這時最簡單的方法是進入系統的圖形界面,點擊右上角的時間,進入時間、時區設置(和window設置時間差不多),edit location,add location,城市輸入shanghai或者beijing,等它自動識別(前提是虛擬機系統聯網了)。最後重啟系統!
注意:也可以從菜單進入system->administration->date&time設置
(3)如果只是虛擬機系統的時間和實際的時間相差16個小時則可以按照下面介紹的方法設置
系統啟動後發現時間顯示問題:
[root@pps ~]# date
Sat Mar 7 08:58:27 PST 2009
其實現在是北京時間 2009年3月8日00:58,相差16個小時。
網上搜索一下PST時間,原來PST時間為美國太平洋標准時間,此時區位於格林威治向西8個時區,晚北京時間16個小時。
發現 /etc/sysconfig/clock 文件配置的是美國時間:
[root@pps ~]# cat /etc/sysconfig/clock
ZONE="America/Los_Angeles"
UTC=true
ARC=false
UTC為true表示RTC保存的時間是UTC時間,false表示保存的是本地時間。
於是將其修改為:
[root@pps ~]# cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
重啟系統後問題依舊!於是想到了 locale
[root@pps ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
[root@pps ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改後為:
[root@pps ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8" /* 英文環境可以改成zh_US.UTF-8 */
SYSFONT="latarcyrheb-sun16"
保存退出再次登陸執行date
[root@pps ~]# date
2009年 03月 07日 星期六 09:13:44 PST
如果上面的是設置不行,嘗試一下下面的命令:
還是顯示PST時間,
# rm /etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
D. 如何用linux一台伺服器時間去同步其他伺服器的時間
至少需要兩台linux伺服器,其中一台是NTP Server, 另一台是NTP client.
Linux NTP配置詳解 (Network Time Protocol)
LINUX絕大多數的發行版本都已經自帶了NTP程序,只須按以下配置即可。
相關配置文件
/etc/ntp.conf
NTP服務的主要配置文件,所有的更改全部在這里。
/usr/share/zoneinfo
由 tzdata 所提供,規定了各主要時區的時間設定文件,例如中國的時區設置文件是/usr/share/zoneinfo/Asia/Chongqing。
/etc/sysconfig/clock
Linux的主要時區設定文件。每次啟動後Linux操作系統會自動讀取這個文件來設定系統預設要顯示的時間。如這個文件內容為」ZONE=Asia/Chongqing」,則表示Linux操作系統的時間設定使用/usr/share/zoneinfo/Asia/Chongqing這個文件。
/etc/localtime
本地系統的時間設定文件,如果clock文件中規定了使用的時間設定文件為/usr/share/zoneinfo/Asia/Chongqing,Linux操作系統就會將Chongqing那個文件復制一份為/etc/localtime,所以系統的時間顯示就會以Chongqing那個時間設定文件為准。
相關的命令
/bin/date
這個我們最經常使用了,更改及輸出日期與時間命令。
/sbin/hwclock
使用hwclock才能將修改過後的時間寫入BIOS 。
/usr/sbin/ntpd
NTP服務的守護進程,配置文件為/etc/ntp.conf 。
/usr/sbin/ntpdate
用來連接NTP伺服器命令,比如ntpdate 192.168.6.51 。
/usr/sbin/ntpq
NTP查詢命令。
設置NTP伺服器
就如前邊說的NTP配置文檔只有一個 /etc/ntp.conf,看看我的ntp.conf
#紅字的是我添加的,其它為默認!
grep -Ev '^$|^#' /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 131.107.13.100 //允許該NTP伺服器進入
restrict 114.80.81.1 //沒有任何何參數的話,這表示『該 IP或網段不受任何限制』
restrict 202.118.1.199
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.0.0 mask 255.255.0.0 nomodify //該網段可以進行校時
restrict 0.0.0.0 mask 0.0.0.0 notrust //拒絕沒有認證的用戶端
server time-nw.nist.gov prefer //prefer 該伺服器優先
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
別忘了啟動NTP伺服器
/etc/init.d/ntp start
客戶端測試
對了客戶端只需要是用ntpdate命令即可,192.168.6.51 為ntp 伺服器ip 地址,就這么就簡單!
相關命令
ntpstat //列出我們的NTP 伺服器是否與上層連接。
synchronised to NTP server (131.107.13.100) at stratum 2
time correct to within 461 ms
polling server every 64 s
ntpq -p //列出目前我們的NTP伺服器 與上層NTP伺服器 的狀態,* 代表目前正在使用的上層 NTP伺服器
remote refid st t when poll reach delay offset jitter
==============================================================================
*131.107.13.100 .ACTS. 1 u 30 64 67 237.165 1.539 20.382
202.118.1.199 202.112.31.197 2 u 33 64 63 163.526 91.844 10.208
上邊只是簡單設置,沒有考慮安全方面如認證等等,如需更詳細請參考這里。
許可權管理使用 restrict 公式如下:
restrict IP mask [參數] / restrict 192.168.0.0 mask 255.255.0.0 nomodify
其中參數主要有底下這些:
* ignore:拒絕所有類型的NTP的連線;
* nomodfiy:用戶端不能使用NTPC與ntpq這兩支程式來修改伺服器的時間參數,但使用者端仍可透過這部主機來進行網路校時的;
* noquery:用戶端不能夠使用ntpq,NTPC等指令來查詢發表伺服器,等於不提供的NTP的網路校時冪;
* notrap:不提供陷阱這個遠端事件郵箱(遠程事件日誌)的功能。
* notrust:拒絕沒有認證的用戶端。
E. linux硬體時間與系統時間同步
方法/步驟
打開Ubuntu虛擬機,在桌面空白處右鍵 -- 打開終端。
F. linux時間是如何自動同步的
方法/步驟
安裝ntpdate:
如果你的linux系統有ntpdate這個命令就跳過次步驟。(centos)
yum install ntp
安裝完了之後,你不要做什麼配置,也不需要,直接測試一下
[root@localhost~]#ntpdatetime.nist.gov
進入到crontab
[root@localhost~]# crontab -e
4
增加命令*/10****ntpdatetime.nist.gov 這是指每隔10分鍾執行一次,如果時間頻率不想這么高,可以調整這些 *
G. 如何設置linux時區和windows一樣
一、首先要弄清幾個概念:
1. 「系統時間」與「硬體時間」
系統時間: 一般說來就是我們執行 date命令看到的時間,linux系統下所有的時間調用(除了直接訪問硬體時間的命令)都是使用的這個時間。
硬體時間:主板上BIOS中的時間,由主板電池供電來維持運行,系統開機時要讀取這個時間,並根據它來設定系統時間(注意:系統啟動時根據硬體時間設定系統時間的過程可能存在時區換算,這要視具體的系統及相關設置而定)。
2. 「UTC時間」與「本地時間」
UTC時間:CoordinatedUniversal8 e2 i( H7 t0 ^/^Time 世界協調時間(又稱世界標准時間、世界統一時間),在一般精度要求下,它與GMT(Greenwich MeanTime,格林威治標准時間)是一樣的,其實也就是說 GMT≈UTC,但 UTC 是以原子鍾校準的,更精確。
本地時間:由於處在不同的時區,本地時間一般與UTC是不同的,換算方法就是
本地時間 = UTC +時區 或 UTC = 本地時間 - 時區
時區東為正,西為負,例如在中國,本地時間都使用北京時間,在linux上顯示就是 CST(China StandardTime,中國標准時,注意美國的中部標准時Central StandardTime也縮寫為CST,與這里的CST不是一回事!),時區為東八區,也就是 +8 區,所以CST=UTC+(+8小時) 或 UTC=CST-(+8小時)。
二、時間命令
1. 系統時間 date
直接調用date,得到的是本地時間。如果想得到UTC時間的話,使用 date -u。
[12-01 19:07> ~]$date
2009年 12月 07日 星期一 14:22:20CST
[12-0119:07> ~]$ date -u
2009年 12月 07日 星期一 06:22:22UTC
2. 硬體時間 /sbin/hwclock
直接調用 /sbin/hwclock 顯示的時間就是BIOS 中的時間嗎?未必!這要看
/etc/sysconfig/clock中是否啟用了UTC,如果啟用了UTC(UTC=true),顯示的其實是經過時區換算的時間而不是BIOS中
真正的時間,如果加上--localtime 選項,則得到的總是 BIOS 中實際的時間.
[12-01 19:07> ~]#hwclock
2009年12月07日 星期一14時28分43秒 -0.611463 seconds
[12-0119:07> ~]# hwclock --utc
2009年12月07日 星期一14時28分46秒 -0.594189 seconds
[12-0119:07> ~]# hwclock --localtime
2009年12月07日 星期一06時28分50秒 -0.063875 seconds
3. /etc/localtime
這個文件用來設置系統的時區,將/usr/share/zoneinfo/ 中相應文件拷貝到/etc下並重命名為
localtime 即可修改時區設置,而且這種修改對date 命令是及時生效的。不論是 date 還是
hwclock都會用到這個文件,會根據這個文件的時區設置來進行UTC和本地之間之間的換算。
4. /etc/sysconfig/clock
這個文件只對 hwclock有效,而且似乎是只在系統啟動和關閉的時候才有用,比如修改了其中的 UTC=true 到
UTC=false 的前後,執行hwclock (--utc, 或 --localtime) 都沒有變化,要重啟系統後才生效。註:如果設置
UTC=false並重啟系統後,執行一些命令結果如下:
date 2009年 12月 07日 星期一 19:26:29 CST
date-u 2009年 12月 07日 星期一 11:26:29 UTC
hwclock 2009年12月07日 星期一 19時26分30秒 -0.442668seconds
hwclock--utc 2009年12月08日 星期二 03時26分31秒 -0.999091seconds
hwclock--localtime 2009年12月07日 星期一19時26分32秒 -0.999217 seconds
可見,如果不使用UTC,BIOS時間(紅色部分)就是系統本地時間,而且注意這時執行 hwclock --utc得到的結果沒有任何意義,因為這里我們已經禁用了UTC,而且也明顯不符合「本地時間=UTC+時區」的關系。
三、linux與windows雙系統間的時間同步
系統啟動和關閉時,硬體時間與系統時間之間的同步有兩種方式(假設在中國,用CST代表本地時間):
方式A: 使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=true)
開機: BIOS--------->UTC(將BIOS中的時間看成是UTC)------(時區變化)----->CST
關機:CST-------(時區變化)----->UTC-------存儲到------>BIOS
方式B: 不使用UTC(對linux就是 /etc/sysconfig/clock 中UTC=false)
開機: BIOS----------------------->CST(將BIOS中的時間看成是CST)
關機:CST---------存儲到------>BIOS
通過設定/etc/sysconfig/clock,linux可以支持這兩種方式,然而windows只支持方式B(至少是默認支持B,而我不知道怎麼
能讓它支持A),那麼在雙系統情況下,如果linux設成A方式,那麼在linux與windows系統切換時一定會造成時間混亂的,解決辦法就是將
linux中的UTC禁用,也設成B方式就可以了。
註:可以通過 hwclock
--hctosys來利用硬體時間來設置系統時間(注意不是簡單的復制BIOS中的時間為系統時間,要看是否使用UTC,如果使用的話則要做時區換算),
通過hwclock --systohc 來根據系統時間設置硬體時間(也要看是否啟用UTC來決定是否做時區換算)。總之,不論使用--systohc
還是 --hctosys,同步後直接運行不帶參數的 hwclock 得到的時間與直接運行
date得到的時間應該一致,這個時間是否就是BIOS中的時間(hwclock--localtime)那就不一定了,如果啟用了UTC就不是,沒啟用
UTC就是。
而且好要注意:在系統中手動使用 hwclock hwclock --set --date='yyyy-mm-dd'來設置BIOS時間只在系統運行時有效,因為當系統關閉時,還會按設定好的方式根據系統時間來重設BIOS時間的,於是手動的設置便被覆蓋掉了。
H. LINUX系統時間怎樣設置同步腳本或命令
對於linux系統大多數是命令行界面,所以先介紹字元界面同步時間方法。
首選安裝ntpdate 時間同步服務, 利用yum install ntpdate
LINUX時間同步腳本或命令
接著把linux系統時間同步到windows time公共時間伺服器, ntpdate time.windows.com
LINUX時間同步腳本或命令
3
設置時間同步腳本
雖然以上已經同步了時間,但是如果連不上網或者關機就不一樣的時間了。可以通過設置計劃任務,每天0點同步一下。
I. linux下如何設置正確時區並同步
你同步只是系統時間還沒同步bios就是硬體時間
ntpdate 同步完後多下面一句話
/sbin/hwclock -w
就是把系統時間寫入bios
J. linux系統如何設置時間同步
linux自帶了ntp服務
--
/etc/init.d/ntpd,這個服務不僅可以設置讓本機和某台/某些機器做時間同步,他本身還可以扮演一個time server的角色,讓其他機器和他同步時間。
配置文件就是/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
-s 11: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