linux調整系統時區:
找到相應的時區文件/usr/share/zoneinfo/Asia/Shanghai
用這個文件替換當前的/etc/localtime文件
這時date一下應該是CST時間了
如果還不行,那就要修改一下TZ環境變量的值了。
許多程序和命令都會用到這個變量的值,TZ的值可以有多種格式,最簡單的設置方法就是使用tzselect命令或者終端輸入TZ='CST-8'; export TZ就可以了。
不過這個改變只在這次登陸生效,如果想要永久生效的話,就要把TZ='CST-8'; export TZ這兩句添加到你的。profile文件裡。
Linux裡確定系統時區先看TZ環境變量,如果TZ環境變量沒有設置,然後再讀取/etc/localtime文件來確定你的時區
2)/etc/sysconfig/clock文件
這個文件控制如何解讀硬件時鐘 (hardware clock)的時間。
系統在啟動的時候讀取/etc/sysconfig/clock 文件的內容,根據這些內容調用hwclock 命令,來設置系統時鐘。
下面是轉來的該文件配置項的解讀:
設定檔案 /etc/sysconfig 控制如何解讀由硬體時鐘 (hardware clock) 的時間。中華考試網(www.Examw。com)
UTC=true|yes|false|no - 指定硬體時鐘的時間是格林威冶時間還是系統本地時間。true 或 yes 表示硬體時鐘是使用格林威冶時間,其他則為本地時間。預設為本地時間。
ARC=false|no - 指定硬體時鐘是否 1980 epoch 時間 (一般使用 ARC 主控台的 Alpha 電腦使用的 epoch 時間)。false 或 no 表示使正常 UNIX epoch 時間 - 1970。預設使用正常 UNIX epoch 時間
SRM=false|no - 指定硬體時鐘是否 1900 epoch 時間 (一般使用 SRC 主控台的 Alpha 電腦使用的 epoch 時間)。false 或 no 表示使正常 UNIX epoch 時間 - 1970。預設使用正常 UNIX epoch 時間
ZONE=時區 - 現時系統本地時區名稱,只讓時間日期屬性工具 system-config-data 知道現時 /etc/localtime 所指的時區,改變其值並不會改變實際的系統時區。其值 必須為 /usr/share/zoneinfo 下的時區檔案名稱。
這裡提供一個該文件的配置:
ZONE="Asia/Shanghai"
UTC=false
ARC=false
注意:
如果你原來的設置的硬體時鐘時間是格林威治時間要記得更改這個命令之後,要記得用4)的方法把系統時間寫入硬體時鐘,否則,下次啟動系統會把硬體時鐘記錄的格林威治時間解讀為Asia/Shanghai的當前時間。
3)調整系統時間方法
時間設定成2005年8月30日的命令如下:
#date -s 08/30/2005
將系統時間設定成下午6點40分0秒的命令如下。
#date -s 18:40:00
這裡設置的時間只是設置了系統時間,系統下次重啟之後,還是會從硬體時鐘讀取原來的時間,所以為了使時間設置生效就要使用4)的命令
如果想要與標准時間同步的話就要使用ntpdate ,和NTP服務器做一個時間同步。同樣,這裡也要把同步後的系統時間利用4)的方法寫入到硬體時鐘。
4)將系統時間寫入硬件時鐘COMOS
可以使用clock或hwlock命令,也可以在BIOS裡設置硬體時鐘的時間。
clock命令
#clock –w
hwlock命令
# hwclock –systohc
關於linux的系統時鐘和硬體時鐘:
linux系統有兩個時鐘,一個是系統時鐘,一個是硬體時鐘(COMOS),硬體時鐘就是主板上通過晶振計時的時鐘,通常是由一塊電池供電,一般能用三年左右。
Linux系統在啟動時,會先讀取硬體時鐘,把硬體時鐘的時間設置為當前的系統時間,之後,系統時間就和硬體時鐘獨立運行了。系統時鐘由linux內核維護,硬體時鐘還是晶振控制。