iostat -En | nawk '/Hard Errors/ {line=$0;gsub(/.*Hard Errors:/,""); \
if($1>2) printf("%s\n",line); }'
これの出力は次のとおりです。
c0t1d0 Soft Errors: 0 Hard Errors: 5 Transport Errors: 0
しかし、私の場合は、次のように出力を表示する必要があります。
warning about iostat hard error , transport error & soft errors > 2 on system1 is \
"c0t1d0 Soft Errors: 0 Hard Errors: 5 Transport Errors: 0".
ただし、ハードエラーの場合だけでなく、上記の2つのエラー(ハードエラー、転送エラー、ソフトエラー)のいずれかを表示する必要がある場合も同様です。
答え1
私が正しく理解した場合は、次のようなものを探しています。
$ iostat -En | nawk '/Hard Errors:/{if($4>2 || $7>2 || $10){
print "Iostat warning on system1, hard, soft or transfer errors > 2:\n"$0}}'
Linuxバージョンにはorオプションがiostat
ないため、確認できません。必要に応じて機能しない場合は、何を解析するかを確認できるようにコマンド出力を公開してください。-E
-n
iostat