私は現在i3とPolybarを使ってArchを実行しています。また、6つのサーバーを維持するので、生活をより簡単にするためにサーバーがダウンしたときに通知する一連のシェルスクリプトを作成しました。
これらのスクリプトはうまくいきますが、エレガントなソリューションからは遠いです。現在、各サーバーには2つのスクリプトがあります。 1つはステータスバー(ポリバー)に書き込み、もう1つはログに書き込みます。
これにより、Polybarに次のように記録されます。
#!/bin/bash
srv=`ping 000.000.000.000 -c 1 -W 1 \
| sed '2q;d' \
| awk 'NF>1{print $NF}'`
fail=`date '+%a %H:%M:%S'`
if [[ $srv == ms ]]; then
:
else
echo " 000.000.000.000 | $fail "
fi
これにより、ログファイルに次のものが記録されます。
#!/bin/bash
srv=`ping 000.000.000.000 -c 1 -W 1 \
| sed '2q;d' \
| awk 'NF>1{print $NF}'`
fail=`date '+%a %F %H:%M:%S'`
log1=`ping 000.000.000.000 -c 1 -W 1`
log2=`traceroute 000.000.000.000`
if [[ $srv == ms ]]; then
:
else
echo "<---------------------------------------------->
000.000.000.000 | $fail
----------------------------------------------
$log1
----------------------------------------------
$log2
<---------------------------------------------->
" >> ~/.log/ping.log
fi
どちらのスクリプトも私のPolybar設定にモジュールとして追加されました。
2つのスクリプトを1つにマージしようとしましたが、これはPolybarのエラーロード時間が長すぎて2つの別々のシェルスクリプトに分割しました。
リクエストが失敗した場所を確認するためのトレースパスを追加しました。
私はこの問題を解決するためのより良い方法が必要であることを知りました。合計12個のシェルスクリプトが多すぎて非効率的です。誰もがこれに対するより良い解決策を持っていますか?シェルスクリプトが少なくても効率的な方法でログインできるサービスはありますか?