監視スクリプトを作成しています。特定のコンピュータで動作しています。これは、単一のディストリビューションに縛られることなく複数のLinuxシステムで実行される予定です。
私が実行したコマンドと関連処理は次のとおりです。
1) CPU使用量:
top -bn 2 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
92%
93%
両方の値を記録しました。
2) メモリ使用量
free -m
_____total used free shared buff/cache available <br>
Mem 3791 1183 875 16 1732 2326 <br>
Swap 3071 0 3071
使用されたメモリとスワップスペース/フルレコード
3) ディスク使用量:
df
(それぞれ合計1024ビットのブロック数と使用されたブロック数の列2と3を維持してください。)
1K_blocks used_blocks
27740944 1996820
1931168 0
1941352 0
1941352 16904
1941352 0
508588 151576
388272 0
全体のディスク容量を得るために、2つの列の合計を比較します。
4) 稼働時間:
PS C:\> invoke-sshcommand -ComputerName $ip {uptime}
09:39:01 up 13 days, 21:37, 1 user, load average: 0,00, 0,01, 0,05
文字列を切り取り、便利なデータを記録します。
このコマンドは、Linuxディストリビューションに関係なく、まったく同じ形式の出力を提供しますか? より一般的には、コマンド+データ処理はすべてのディストリビューションでまだ機能しますか?
答え1
このコマンドは、Linuxディストリビューションに関係なく、まったく同じ形式の出力を提供しますか?
そうかもしれませんが、確信はありません。
何百ものLinuxディストリビューションがあります(リリース時計合計280)、スクリプト用に作成されたスクリプトが機能することを保証することはできません。続けるアクション - 特に POSIX 以外のオプションやフラグを使用する場合は、他のタスクよりも優先されます。
/proc
あなたがすべきことは、コマンドの出力に頼るのではなく、擬似ファイルシステムから直接データをインポートすることです。