2021)雑記帳2020年は数多くのブルベに参加することになったが、各BRMでウェブサイトの更新を監視するのは辛い。変更を検知したら差分箇所をメールで送信するシェルスクリプトを書いてみた。(ここでは個人用のGmailアカウント)Gmailのアカウントを使う時は、下記を参照してアプリパスワードを生成しておく。パスワードでログインアプリパスワードの生成と利用方法ssmtpのインストールsendmailのために、今回はssmtpを使って設定してみる。postfixのほうが好きな方はそちらで。ssmtpをインストール。ssmtp設定ファイル(/etc/ssmtp/ssmtp.conf)を編集し、使うメールアカウントに沿って設定箇所を記入。addressFromLineOverride=YESスクリプト本体webchecker.shという名前で下記の内容を書き込む。""done実行権限を付与。webchecker.sh設定ファイルchecklist.txtという名前で監視対象のURLと範囲を設定するファイルをwebchecker.shと同じディレクトリに作成。id="sites-canvas-wrapper">|DNS連絡フォーム</h2>BRM418|http://www.vcraoba.yokohama/2020/2020brm418.html|<section>|</section>RM430|https://randonneurs.tokyo/?p=9599|<header>|<footer>RM430-Cue|https://randonneurs.tokyo/?p=11738|<header>|<footer>次の書式で入力。CHANGED」と表示される。2回目以降で前回取得時から変更があれば「CHANGED」と表示され、メールが届くはず。正常に取得できなかった時は3回目にメールするようにした(1回だと結構誤検知が発生した)。cronの設定あとはcronで定期的に実行されるようにする。-e5分おきに実行するなら下記のようにする。2>&1実行例あとは設定がうまくできていれば、次のようなメールが届く。#ff0000;"><strong>※BRM229東京300ウルトラオレンヂの開催は延期いたしました。LAWSON伊東渚町店を通過チェックに変更します。最新のキューシート(V1.1)にも反映しましたのでご確認ください。復路の熱川温泉以降は側溝に蓋のない状態となりますので十分に注意してください。#000000;">ゴール受付場所が変更になります。概要欄の変更点を確認の上でご参加ください。</span></p>diffの内容も本文に入れることで、どこが更新されたのかを分かりやすくした。