A. 如何快速有效的解決linux和windows時間同步的問題
如果windows和linux都可以連接外網的話,把它們都指向一台時間伺服器就可以同步時間了
B. 如何設置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時間的,於是手動的設置便被覆蓋掉了。
C. linux系統怎麼設置時間同步
命令行界面操作
1、對於linux系統大多數是命令行界面,所以先介紹字元界面同步時間方法。 首選安裝ntpdate 時間同步服務, 利用yum install ntpdate
2、接著把linux系統時間同步到windows time公共時間伺服器, ntpdate time.windows.com
3、設置時間同步腳本,雖然以上已經同步了時間,但是如果連不上網或者關機就不一樣的時間了。可以通過設置計劃任務,每天0點同步一下。
添加到crontab任務文件添加:00 0 1 * * root ntpate -s time.windows.com
4、除此之外,我們還可以通過用date命令查看 和手動設置系統時間(必須管理員賬號許可權。
圖形界面設置
1、如果對命令行不熟悉,也可以通過圖形界面設置來實現系統時間同步。 找到系統工具----管理員功能選項--- date\時間 和日期
2、啟用網路時間,並且與之同步找到date\time 時間菜單之後,勾選「synchronize date and time over the network 」
3、設置正確的當地時區,除此之外,centos系統會根據當期語言來設置默認的時間和時區。對於咗嚛所在的china時間,是北京時間(下面那個UTC時間不要勾)
D. windows時間和linux時間同步嗎
兩者可通過手動調整同步,如果任意一方在virtualbox虛擬機也可在settings->system->motherboard界面下選中hardware clock in utc-time,這時與宿主系統自動同步。
E. linux和windows時間不同步
同步源設置不同,
時間伺服器選擇相同源,
歡迎採納。
F. Windows 2003 server與Linux終端時間同步的問題,請高手指點。
Windows配置NTP server,Linux向它同步就行了
windows的NTP server在組策略-計算機配置-管理模板-系統-windows時間服務-時間提供程序-啟用NTP伺服器,將其啟用。同時確保windows time服務啟用。
linux作為NTP客戶端,可以用root用戶在crontab中添加一個定時任務,讓其定時執行時間同步。
比如
*/5 * * * * /usr/sbin/ntpdate 192.168.1.1; /sbin/hwclock -w
其中的IP是windows NTP伺服器的IP
G. 雙系統linux 和win7 系統怎麼把時間同步
一、首先要弄清幾個概念:
1. 「系統時間」與「硬體時間」
系統時間: 一般說來就是我們執行 date 命令看到的時間,linux系統下所有的時間調用(除了直接訪問硬體時間的命令)都是使用的這個時間。
硬體時間: 主板上BIOS中的時間,由主板電池供電來維持運行,系統開機時要讀取這個時間,並根據它來設定系統時間(注意:系統啟動時根據硬體時間設定系統時間的過程可能存在時區換算,這要視具體的系統及相關設置而定)。
2. 「UTC時間」與「本地時間」
UTC時間:Coordinated Universal 8 e2 i( H7 t0 ^/ ^Time 世界協調時間(又稱世界標准時間、世界統一時間),在一般精度要求下,它與GMT(Greenwich Mean Time,格林威治標准時間)是一樣的,其實也就是說 GMT≈UTC,但 UTC 是以原子鍾校準的,更精確。
本地時間:由於處在不同的時區,本地時間一般與UTC是不同的,換算方法就是
本地時間 = UTC + 時區 或 UTC = 本地時間 - 時區
時區東為正,西為負,例如在中國,本地時間都使用北京時間,在linux上顯示就是 CST(China Standard Time,中國標准時,注意美國的中部標准時Central Standard Time也縮寫為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:20 CST
[12-01 19:07> ~]$ date -u
2009年 12月 07日 星期一 06:22:22 UTC
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-01 19:07> ~]# hwclock --utc
2009年12月07日 星期一 14時28分46秒 -0.594189 seconds
[12-01 19: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.442668 seconds
hwclock --utc 2009年12月08日 星期二 03時26分31秒 -0.999091 seconds
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時間的,於是手動的設置便被覆蓋掉了。
---------------------------------------------------------------------
(二)
Linux時鍾分為系統時鍾(System Clock)和硬體(Real Time Clock,簡稱RTC)時鍾。系統時鍾是指當前Linux Kernel中的時鍾,而硬體時鍾則是主板上由電池供電的時鍾,這個硬體時鍾可以在BIOS中進行設置。當Linux啟動時,硬體時鍾會去讀取系統時鍾的設置,然後系統時鍾就會獨立於硬體運作。
Linux中的所有命令(包括函數)都是採用的系統時鍾設置。在Linux中,用於時鍾查看和設置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一個就行,只不過clock命令除了支持x86硬體體系外,還支持Alpha硬體體系。
H. 如何同步Windows和Linux的時間
windows的時間可以在「日期和時間」屬性里調,並開啟windowstime服務,如圖。
Linux可以用ntp,如在/etc/crontab里添加:
sudovim/etc/crontab
105***root/usr/sbin/ntpdatentp.fudan.e.cn&&/sbin/hwclock-w
但伺服器建議編輯ntp的配置文件,設置三個時間伺服器。
如果只需要這兩台伺服器時間一樣,而不必與北京時間相等,可以把其中一台配置為ntp伺服器。
ntp使用udp的123埠。
關於ntp的更多知識,說來就話長了,可以寫好幾頁。這里不講了。
I. 如何解決linux和windows雙系統的時間同步問題
1、首先進入windows,使用regedit寫入DWORD值(設置成十六進制"1"):
HKEY_LOCAL_ersal
2、XP
和
Windows
Vista
SP1
支持設置系統時間標准為UTC,但是休眠待機的時候會把系統重新設置為
localtime,這是一個bug。推薦這些操作系統設置為
localtime;
3、如果
Windows
要求根據夏令時更新時鍾,可以允許。時鍾仍然是
UTC,僅是顯示時間會改變;
4、設置時間標准後需要重新設置硬體時間和系統時間,最好禁用Windows的時間同步功能,否則硬體時間可能混亂。