What's ``What's New!'' のページ

Copyright (C) 1998-1999 Taiji Yamada <taiji@aihara.co.jp>

このページはウェブサイトの更新を自動的にチェックするスクリプト``whatsnews.pl''のページです。

whatsnews.pl

``whatsnews.pl''は指定された URL をチェックし、以前にチェックしたときのタイムスタンプもしくはコンテンツを調べ、内容が更新されていればそれを通知します。 更新の通知は、デフォルトで標準出力に表示しますが、'-m <mailaddress>' オプションにより電子メールで通知します。また、'-d' オプションにより、更新内容の diff 出力を付加して通知します。'-M' オプションで mail コマンドを指定することも可能で、デフォルトは 'imput --jconv=on -s' となっています。 以下は更新の通知の出力例です。 ``whatsnews.pl''はカレントディレクトリに最新の内容を保存するためのワークディレクトリ http(もしくは ftp) を作成します。実行時に初めて指定された URL の場合、URL のタイムスタンプを表示し、コンテンツを http(もしくは ftp) 配下に保存します。そして、次の実行時に同じ URL を指定すれば、以前に保存した内容と新たに GET した内容を diff コマンドで比較します。また、保存されているファイルのタイムスタンプは、ウェブサイトにおけるタイムスタンプと同期しています。

但し、'-c' オプションを付けると、ワークディレクトリにファイルを保存したりせずに、URL のタイムスタンプのみを通知します。

 また、'-S' オプションは、ワークディレクトリに既に格納されているサイト以外の URL のアクセスを禁じます。

whatsnews.sh

``whatsnews.pl''は cron などによって定期的に実行されることを前提にしていますが、``whatsnews.sh''のような wrapper で定期的な更新チェックが実現できます。
% whatsnews.sh -at 0:00
URL や通知先のメールアドレスを指定するには``whatsnews.sh''を編集して 下さい。また、'-at'オプションの引数は at コマンドの時刻の引数と同じです。内部で at コマンドを再帰的に用いています。

これとは別の方法として、sleep の用いた無限ループの方法も用意しています。

ここで、'-loop'オプションの引数は sleep コマンドの引数と同じです。

``whatsnews.sh'' はいくつでも別の名前にコピーして、サイトやメールの通知先、ループの周期などを変えて運用することが出来ます。

whatsnews.cgi

``whatsnews.cgi''は http(もしくは ftp) 配下のタイムスタンプを HTML 形式で出力する CGI です。つまり、ローカルのウェブサイトで``whatsnews.pl''のチェック状況を報告するためのページを提供するものです。以下では現在作者がテスト運用している URL の更新状況を報告します。 また、whatsnews.cgi は表示されている個々の URL に対して再チェックを行うためのボタンを提供します。このボタンを押すと、その URL に対してタイムスタンプを調べに行き、http(もしくは ftp) 配下のタイムスタンプと比べて新しければ赤で再表示します。古い場合は緑で再表示しますが、タイムスタンプの取得に失敗した可能性があります。その状態で再読み込みをすれば、再びその URL のタイムスタンプを調べます。ちなみに、この動作は格納されているファイルに影響を与えません。

distribution & history

``whatsnews.pl''の誤った使用法はウェブサイトに迷惑がかかる可能性がありますので十分注意して運用する必要があります。そして、``whatsnews.pl''の運用には Perl5, wget, nkf が必要です。

TODO


Copyright 1998 (C) Taiji Yamada, All rights reserved.