プログラミングガール

Developing a better me

特定のサイトを簡単に監視したい

概要

指定したURL先のステータスコードを監視したい。
今回はステータスが200になったらLINEに通知を飛ばす。

使用したもの

  • AWS EC2
  • shell
  • LINE Notify

つくりかた

1. AWSのEC2を立てる
2. Line Notifyトークンをゲットする
3. shell scriptsを以下のかんじで書いてテキトウな場所に配置

#!/bin/sh

url=http:{{監視したいURL}}
ACCESS_TOKEN={{2で取得したトークン}}
status=`/usr/bin/curl -LI $url -o /dev/null -w "%{http_code}" -s`

if [ $status = 200 ]; then
    curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" -F "message=$status" https://notify-api.line.me/api/notify
    curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" -F "message=メッセージ" https://notify-api.line.me/api/notify
else
    echo $status
fi

4. cronに設定

*/5 * * * * source /home/ec2-user/urlwatch.sh

補足

LINE NotifyのAPIドキュメントはこちら。

notify-bot.line.me