Linux上でコマンドを一定間隔で実行したい場面があると思います。例えば、uptimeでロードアベレージを見たいとき、dfコマンドで、ディスクを見たいときなどに、今回紹介するwatchコマンドは使えると思います。
watchコマンドを使おう
- 基本的な使い方
watch コマンドは、下記のように使うことができます。ロードアベレージを見たいときの例になります。
$ watch uptime
Every 2.0s: uptime Mon Aug xx 12:00:00 2020
12:00:00 up 211 days, 1:47, 1 users, load average: 0.01, 0.05, 0.05
デフォルトでは、コマンドを2秒毎に繰り返し実行します。1秒にしたい3秒にしたいなど、間隔を変更したいときは、-n というオプションコマンドを使います。
$ watch -n 1 uptime
Every 1.0s: uptime Mon Aug xx 12:00:00 2020
12:00:00 up 211 days, 1:47, 1 users, load average: 0.01, 0.05, 0.05
このようにすることで、1秒間隔でコマンドを実行した結果が表示されます。
- 差分をハイライトで表示する
-d オプションを使うと、前回のコマンド実行と比較して、変更のあった部分をハイライトで表示してくれます。
$ watch -d uptime
Every 1.0s: uptime Mon Aug xx 12:00:00 2020
12:00:00 up 211 days, 1:47, 1 users, load average: 0.01, 0.05, 0.05
定期実行で監視しているときは、ハイライト表示は便利なので、ぜひ使ってみてください!