
3つのサーバーページを監視したいです。これらの3つのページには単純なテキストが含まれています(例:「うまくいきます」と表示されます)。このメッセージ以外のメッセージが表示されたとき(たとえば、電子メールを介して)、通知を受けたいと思います。
htmlファイルに3ページのステータスを表示するシェルスクリプトコードが必要です。
答え1
ページが適切なHTMLページであり、それを解析したくない場合lynx
(古いテキストブラウザ)を使用して、最初にHTMLをプレーンテキストとしてレンダリングできます(フラグを使用--dump
)。
for lnk in http://foo.example.com \
http://bar.example.com \
http://stats.example.com/stillrunning.html
do
lynx --dump "${lnk}" \
| grep "working fine" \
|| mailx -s "${lnk} failed" [email protected]
done
答え2
必要なものを達成するために、またはwithをcurl
使用できます。wget
bash
$ wget -O- http://example.com | grep "working fine" || mailx -s "Oh NO" you ...