伺服器管理員需要維護系統並保持更新和安全。每天需要執行大量的指令。有些系統程序會記錄日誌。這些日誌不斷更新。為了檢查這些更新,需要重複地執行命令。比如,為了讀取乙個日誌檔案需要使用head、tail、cat等命令。這些命令需要重複地執行。而watch命令可以用於定期地執行乙個命令。
watch是乙個簡單的命令,只有幾個選項。watch命令的基本語法是:
watch
[-dhvt][-
n <
seconds
>]
[--differences
[=cumulative
]][--
help
][--
interval
=<
seconds
>]
[--no
-title
][--
version
]<
command
>
watch命令預設每隔2秒執行後面引數給出的命令。這個時間根據的是命令執行結束到上次執行的間隔來算的。比如,watch命令可以用於監測日誌更新,更新是在檔案的後面追加新的內容,因此可以用tail命令來檢測檔案的更新(lctt 譯註:可以直接使用tail -f
主動跟蹤某個檔案的更新,而不用使用 watch。)。這個命令會持續地執行直到你按下ctrl + c
回到提示符。
每兩秒監測 errors/notices/warning 生成的情況。
watch
tail
/var
/log
/messages
tail messages
按指定的時間間隔監測磁碟的使用率。
watchdf-
h
df -h
對磁碟管理員而言,關注高i/o等待導致的磁碟操作尤其是mysql事務是很重要的。
watch
mysqladmin processlist
processlist
監測伺服器負載和執行時間。
watch
uptime
uptime
監測exim給使用者傳送通知的佇列大小。
watch
exim
-bpc
exim -bpc
watch
[-n
<
seconds
>]
<
command
>
命令預設執行的時間間隔可用-n改變,下面的命令會在5秒後執行後面的命令:
watch-n
5date
date 5 seconds
如果你使用-d選項,它會累次地高亮第一次和下一次命令之間輸出的差別。
watch
[-d
or--
differences
[=cumulative
]]<
command
>
例子 1,用下面的命令連續地輸出時間並觀察高亮出來的不同部分。
watch-n
15-d date
第一次執行date的輸出會被記錄,15秒後會重複執行命令。
difference a
在下一次執行時,可以看到輸出除了被高亮的秒數從14到29之外其他的都一樣。
difference a
例子 2,讓我們來體驗一下兩個連續的「uptime」命令輸出的不同。
watch-n
20-d uptime
uptime
現在列出了時間和3個負載快照之間的不同。
10b
如果你不希望顯示更多關於延遲和實際命令的資訊可以使用-t選項。
watch
[-t |--
no-title
]<
command
>
讓我們看下下面例子命令的輸出:
watch-t
date
watch without title
可以在ssh中輸入下面的命令來得到watch的簡要幫助。
watch-h
[--help
]
watch help
在ssh終端中執行下面的命令來檢查watch的版本。
watch-v
[--version
]
version
不足不幸的是,在終端大小調整時,螢幕不能在下次執行前重畫。所有用--difference高亮的內容也會在更新時丟失。
watch對系統管理員而言是乙個非常強大的工具,因為它可以用於監控、日誌、運維、效能和系統執行時的吞吐量。人們可以非常簡單地格式化和推延watch的輸出。任何linux命令/程式或指令碼可以按照所需監測和連續輸出。
原文發布時間為:2015-07-07
Linux重複 間歇執行命令 watch
watch指令可以間歇性的執行程式,將輸出結果以全屏的方式顯示,預設是2s執行一次。watch將一直執行,直到被中斷。usage watch options command options b,beep beep if command has a non zero exit c,color inte...
偵聽屬性 watch
作用 new vue watch lastname val 使用方式 重點 watch watch deep true watch 的深度監聽 newvue watch lastname deep true 使用方式computed computed set val watch是用來監聽某乙個資料的...
watch監聽變數
前提條件 乙個變數如果滿足某種規則,則在這個滿足條件下面進行變數的賦值操作,如果這個規則不存在,則變數置為空,問題 watch第一次監聽的時候因為滿足規則,進行操作之後變數再次賦值,說明變數的值有了第二次改變,則會再次觸發watch監聽這個變數,因為再次觸發時不會再滿足規則,所以變數自動執行else...