Linux中國

watch:定期重複Linux / Unix命令

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

按指定的時間間隔監測磁碟的使用率。

watch df -h

df -h

對磁碟管理員而言,關注高I/O等待導致的磁碟操作尤其是mysql事務是很重要的。

watch mysqladmin processlist

processlist

監測伺服器負載和運行時間。

watch uptime

uptime

監測exim給用戶發送通知的隊列大小。

watch exim -bpc

exim -bpc

1) 指定延遲

watch [-n <seconds>] <command>

命令默認運行的時間間隔可用-n改變,下面的命令會在5秒後運行後面的命令:

watch -n 5 date

date 5 seconds

2) 連續輸出比較

如果你使用-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

3) 不帶標題輸出

如果你不希望顯示更多關於延遲和實際命令的信息可以使用-t選項。

watch [-t | --no-title] <command>

讓我們看下下面例子命令的輸出:

watch -t date

watch without title

Watch 幫助

可以在ssh中輸入下面的命令來得到watch的簡要幫助。

watch -h [--help]

watch help

Watch 版本

在ssh終端中運行下面的命令來檢查watch的版本。

watch -v [--version]

version

不足

不幸的是,在終端大小調整時,屏幕不能在下次運行前重畫。所有用--difference高亮的內容也會在更新時丟失。

總結

watch對系統管理員而言是一個非常強大的工具,因為它可以用於監控、日誌、運維、性能和系統運行時的吞吐量。人們可以非常簡單地格式化和推延watch的輸出。任何Linux命令/程序或腳本可以按照所需監測和連續輸出。

via: http://linoxide.com/linux-command/linux-watch-command/

作者:Aun Raza 譯者:geekpi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國