GNU/Linux >> Linux の 問題 >  >> Linux

X秒ごとにLinuxコマンドを実行する方法

数秒ごとに特定のLinuxコマンドを繰り返し実行しなければならない状況になったことはありますか?さて、あなたがまだ知らないのであれば、このチュートリアルはあなたにその方法を教えます。もちろん、シェルスクリプトまたはcronジョブを使用してこれを行うことができます 。 Linuxコマンドを毎回手動で実行しなくても、特定の間隔で繰り返すこともできます。ここで見る コマンドが便利です。このコマンドを使用して、特定のコマンドを繰り返し実行し、出力を監視できます。簡単に言うと、Watchコマンドを使用してLinuxコマンドをX秒ごとに永久に実行すると、 CTRL + C > または、プロセスを強制終了するか、システムを強制的に再起動します。デフォルトでは、指定されたコマンドは2秒ごとに実行されますが、選択した時間間隔を定義することもできます。

Watchコマンドを使用してX秒ごとにLinuxコマンドを実行する

watchの構文 コマンドは次のとおりです:

 $watch[options]コマンド

以下に、 watchを使用できる場所を示すいくつかの例を示します。 特定のLinuxコマンドを繰り返し実行するコマンド。

例1:

uptimeを実行するとします システムの稼働時間を監視するには、2秒ごとにコマンドを実行します。これを行うには、次のコマンドを実行します:

$総再生時間

出力例:

 2.0秒ごと:稼働時間sk Wed Feb 9 20:14:46 2018 20:15:46 up 2:38、1 users、load average:0.41、0.35、0.46 

ここで

  • 2.0秒ごと: uptime- uptime コマンドは2秒ごとに実行され、結果が表示されます。
  • sk -現在ログインしているユーザー
  • 2018年2月9日水曜日20:14:46 -コマンドを実行した現在の日時。

これは、手動で終了するまで実行され続けます。コマンドを終了するには、 CTRL + Cを押します。

uptimeの出力を保存することもできます ファイル内のコマンド。これを行うには、次を実行します:

 $ watch `uptime`> uptime.txt 

または

 $ watch `uptime`> uptime.doc 

これは、システムの稼働時間をテクニカルサポートに送ってサポートを受けたい場合に役立ちます。

例2:

前に述べたように、 watch コマンドは、デフォルトで2秒ごとにプログラムを実行します。 -n を使用して、特定の間隔、たとえば5秒に変更できます。 パラメータ。

5秒ごとのファイルシステムのディスク容量を表示しましょう。

 $ watch -n 5 df -h 

出力例:

すべての5.0s:df -h sk:Wed May 9 20:19:09 2018Filesystem Size Used Avail Use%Mounted ondev 3.9G 0 3.9G 0%/ devrun 3.9G 1.1M 3.9G 1%/ run / dev / sda2 457G 357G 77G 83%/ tmpfs 3.9G 32M 3.9G 1%/ dev / shmtmpfs 3.9G 0 3.9G 0%/ sys / fs / cgrouptmpfs 3.9G 36K 3.9G 1%/ tmp / dev / loop0 83M 83M 0100% / var / lib / snapd / snap / core / 4327 / dev / sda1 93M 55M 32M 64%/ boottmpfs 789M 28K 789M 1%/ run / user / 1000 

このコマンドが実際に機能するかどうかを確認するには、ファイル/フォルダーを作成または削除します。ファイル/フォルダを作成または削除した後、出力の空き容量が変更されていることがわかります。

例3:

ディレクトリの変更内容を監視するには、次のコマンドを実行します。

 $ watch -d ls -l <​​/ pre> 

ここでは、 -d または-相違点 フラグは、連続する更新間の違いを強調表示します。

出力例:

合計3857440-rw-------1skユーザー19218432004月25日22:47bionic-desktop-amd64.iso-rw-------1skユーザー19218432004月25日03:02bionic- Desktop-amd64.iso.zs-olddrwxr-xr-x2skユーザー122885月8日18:45Desktopdrwxr-xr-x2skユーザー40964月20日16:54Documentsdrwxr-xr-x11skユーザー40965月9日19:56 Downloadsdrwxr-xr-x2skユーザー40962017年1月7日Musicdrwxr-xr-x5skユーザー12288Mar23 17:34 Picturesdrwxr-xr-x2skユーザー40962016年5月11日公開

また、特定のユーザーが所有するディレクトリ変更の内容を表示することもできます(例: sk

 $ watch -d'ls -l | fgrep sk'

これは、マルチユーザーシステムで役立ちます。

例4:

メモリの詳細を表示するには、次を実行します:

 $ watch -d free -m 

例5:

duの出力を表示するには 10秒ごとにコマンドを実行すると、次を使用できます:

 $ watch -n 10 du -h 

出力例:

すべての10.0s:デュ-h SK:水曜日5月9日20時26分43秒201817M ./.disruptive革新SARL / bluegriffon / q87d9o6v.default / extensions16K ./.dooble/Dooble4.0K ./.dooble/Histories176K。 /.dooble4.0K./.PlayOnLinux/wine/mono13M./.PlayOnLinux/wine/gecko4.0K./.PlayOnLinux/wine/linux-amd64652K./.PlayOnLinux/wine/linux-x86/1.3.19/share/ wine / fonts872K./.PlayOnLinux/wine/linux-x86/1.3.19/share/wine 

これにより、手動で終了するまで10秒ごとにディスク使用量が監視されます。

詳細については、manページを参照することをお勧めします。

$マンウォッチ

Whileループを使用してX秒ごとにLinuxコマンドを実行する

Whileを使用してこれを行うこともできます ループ。

2秒ごとにコマンドを永久に繰り返すには、次のコマンドを実行します。

$睡眠中2;稼働時間を行う;完了

サンプル出力:

 21:10:21 up 10:12、1ユーザー、負荷平均:0.83、0.71、0.5921:10:23 up 10:12、1ユーザー、負荷平均:0.76、0.70、0.5921:10:25 up 10 :12、1ユーザー、負荷平均:0.76、0.70、0.5921:10:27アップ10:12、1ユーザー、負荷平均:0.70、0.68、0.58 [...] 

結論

Watchを使用してX秒ごとにコマンドを実行する方法をマスターしました 指図。通常、 Watch コマンドは、ディスク使用量とメモリ使用量を監視するために使用されます。このコマンドを他の監視ツールと混同しないでください。このコマンドは、手動で停止するまで、特定の1秒ごとにコマンドを永久に実行することを目的としています。

関連記事:

  • Linuxで成功するまでコマンドを繰り返す方法

Linux
  1. X秒ごとにLinuxコマンドを実行または繰り返す方法

  2. LinuxでSuコマンドを使用する方法

  3. 視聴:N 秒ごとに Unix コマンドまたはシェル スクリプトを繰り返す

  1. X秒ごとにUnixコマンドを永遠に繰り返しますか?

  2. Linux ですべてのシェル コマンドをログに記録する方法

  3. N秒ごとにbashスクリプトを繰り返し実行するには?

  1. Linuxで制限時間(タイムアウト)を使用してコマンドを実行する方法

  2. LinuxでCRONジョブを10秒ごとに実行するように設定するには?

  3. Linux:特定のディレクトリでコマンドを実行する方法