更新があったらメールで知らせる
crontab等に /path/to/watch.sh 'https://example.com'
のように登録しておけばサイトの更新があったらメールで差分を知らせてくれるbashスクリプトを(bashのマニュアルを調べながら)書いた。あらかじめ作業用のディレクトリ(ここでは /home/okumura/watch
)を作っておく。
#! /bin/bash if [ $# -ne 1 ]; then exit 1 fi export LC_ALL=en_US cd /home/okumura/watch uri=$1 md=`echo -n $uri | md5sum | cut -d ' ' -f 1` if [ -d $md ]; then cd $md f=`ls` cp -fp $f .$f wget -N $uri 2>.out if grep saved .out; then if ! diff .$f $f >.$f.diff; then cat .$f.diff | mail -s "Changed: $uri" okumura@example.org fi fi else if [ -e $md ]; then rm -f $md fi mkdir $md cd $md wget -N $uri 2>.out fi
URLから生成したハッシュ値のディレクトリを作り,その中で wget -N
する。新しいファイルが取得され,なおかつ差分があれば,メールで報告する。