Linux系統時間與硬體時間及時間同步
Linux系統有系統時間和硬體時間之分:
系統時間: 一般說來就是我們執行 date命令看到的時間,linux系統下所有的時間呼叫(除了直接訪問硬體時間的命令)都是使用的這個時間。
硬體時間:主機板上BIOS中的時間,由主機板電池供電來維持執行,系統開機時要讀取這個時間,並根據它來設定系統時間(注意:系統啟動時根據硬體時間設定系統時間的過程可能存在時區換算,這要視具體的系統及相關設定而定)。
1、檢視當前系統時間date:
[[email protected] ~]#date
2018年06月 26日星期二 10:09:21 CST
2、設定系統時間date -s +時間
[
2018年06月 26日星期二 10:10:10 CST
3、設定系統時間時,如果還需要設定日期,則要將日期與時間值用雙引號包裹起來
[[email protected] ~]#date -s "2018/8/8 10:00:00"
2018年08月 08日星期三 10:00:00 CST
4、檢視硬體時間用hwclock或者clock命令:
[[email protected] ~]#hwclock
2018年06月26日 星期二 10時13分02秒 -0.805503 秒
[[email protected] ~]#clock
2018年06月26日 星期二 10時13分07秒 -0.507462 秒
5、將硬體時間寫入到系統時間:
[[email protected] ~]#hwclock -s
6、將系統時間寫入到硬體時間
[[email protected] ~]#hwclock -w
7、時間同步,Linux系統需安裝ntpdate
檢查是否安裝了ntpdate : rpm -qa | grep ntpdate
如果沒有安裝則執行如下命令:yum install ntpdate
8、contab命令
通過vi /etc/crontab命令可以看到定時任務的書寫格式
[
SHELL=/bin/bash #SHELL變數指定了系統要使用哪個shell
PATH=/sbin:/bin:/usr/sbin:/usr/bin #PATH變數指定了系統執行命令的路徑
MAILTO=root #MAILTO變數指定了crond的任務執行資訊將通過電子郵件傳送給root使用者,如果MAILTO變 量的值為空,則表示不傳送任務執行資訊給使用者
# For details seeman 4 crontabs
# Example of jobdefinition:
# .---------------- minute (0 - 59) #分鐘
# | .------------- hour (0 -23) #小時
# | | .---------- day of month (1 - 31) #日期
# | | | .------- month (1 - 12) OR jan,feb,mar,apr … #月份
# | | | | .---- day of week (0 - 6)(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat #周
# | | | | |
# * * * * * user-name command to be executed
在以上各個欄位中,還可以使用以下特殊字元:
星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7,8,9”
橫槓(-):可以用整數之間的橫槓表示一個整數範圍,例如“2-6”表示“2,3,4,5,6”
斜線(/):可以用斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。
crontab -l :列出當前使用者的crontab檔案內容
* * * * */usr/local/gse/agent/bin/gsectl watch
crontab -e :編輯當前使用者的crontab檔案內容
[[email protected] data]#crontab -e
*/1 * * * * echo"hello world">>/data/code.txt
在這裡我添加了一個定時任務*/1 * * * * echo"hello world">>/data/code.txt :意思是每一分鐘列印一次hello world,並且重定向到了/data/code.txt檔案裡面,幾分鐘過後檢視code.txt,出現瞭如下內容,說明這個定時任務已經開始執行
[[email protected] data]# cat code.txt hello world hello world hello world hello world