エラー検出の自動化

エラー検出のコマンドは長く一列では不可能なので vimでスクリプト化して error.shを作った。

error.sh内

#!/bin/bash
result=`curl -s http://52.193.141.49/ | grep "テンプレート: 先頭固定表示"`

if [ -z "$result" ]; then
   if [ ! -e "/var/log/httpd/mejirushi" ]; then
       echo "本文" | mail -s "タイトル" -r メールアドレス@example.com  メールアドレス@example.com
       touch /var/log/httpd/mejirushi
   fi
else
  if [  -e "mejirushi" ]; then
      rm /var/log/httpd/mejirushi
  fi
fi

まずresultという変数をcurl -s http://52.193.141.49/ | grep “テンプレート: 先頭固定表示”とおき

もしresultがなく、mejirushiというファイルはなければ、メールを送り/var/log/httpd/mejirushiを作る。

resultがなくmejirushiというファイルが有ればメールを送らない。

resultがあればmejirushiファイルを消す。

という記述。

ちなみにmejirushiファイルは絶対パスの方がよく、/var/log/httpd/mejirushiとした。


crontab内


*/1 * * * * sh error.sh

1分ごとにsh error.shを行うという記述