[PREVIOUS CHAPTER] [______TOC_______]

5 Confirmation Daemon (libexec/confirmd.pl)

    注意: FML 2.1B#2 以降の機能です。

    定期的(例: 2カ月の一度)にメンバーに「これからもＭＬに入り続けるか？」
    を尋ね、返事がなければ参加の意志がないものとして、そのメンバーを削除す
    るプログラムです。

    5.1	『反論なき場合は削除に同意』デーモン?:-)

    ＭＬによっては定期的にメンバーをチェックしたい場合があります。confirmd
    は定期的(デフォールトは2カ月の一度)にメンバーに「これからもＭＬに入り
    続けるか？」を尋ねます。一定期間内(デフォールトでは２週間以内)にメンバー
    から返事があればOK、もし返事がなければそのメンバーを削除します。返事が
    あった場合その後2カ月(デフォールト)間は有効です。2カ月たつと再び「これ
    からもＭＬに入り続けるか？」を尋ねられます。

    confirmd.pl はまとめおくりの msend.pl 同様に cron から起動するように設
    定します。起動間隔は crontab でコントロールします。チェックをかけるた
    めには当然『2カ月』および『2週間』より短い間隔で起動しないと意味があり
    ません。といってかけ過ぎても無駄なだけです。makefml newml で作成される
    crontab の見本では一日一回になっています。

    5.2	設定の仕方

    makefml が作る crontab の見本 $DIR/crontab では confirmd の行はコメン
    トアウトされています。このコメントをはずし crontab でシステムの cron
    にセットします。デフォールトでは一日一回朝5時に confirmd が起動という
    設定になっています。
    Example:

    # confirmd
    # * 5 * * * _EXEC_DIR_/libexec/confirmd.pl _ML_DIR_/_ML_ _EXEC_DIR_

    5.3	時間の変数

    confirmd は入り続けるという意思表示(具体的には 'ack'コマンドを返した時)
    から

    	$CONFIRMD_ACK_EXPIRE_UNIT (デフォールトは2ヶ月)

    期間の間その意思表示を有効とみなします。この期間が過ぎると「これからも
    ＭＬに入り続けるか？」という確認を送ります。このメールの返事を

    	$CONFIRMD_ACK_WAIT_UNIT (デフォールトは2週間)

    期間待ちます。この期間内に返事がないなら confirmd はこのメンバーをＭＬ
    から削除します。

    なお使える時間の表現は次のようなものです。

    	Regular Expression	Example
    	------------------------------------
    	\d+ month(s)		2 months
    	\d+ week(s)		2 weeks
    	\d+ day(s)		2 days
    	\d+			3600

    5.4	ファイル

    	$CONFIRMD_ACK_REQ_FILE ($DIR/confirmd.ackreq)

    がユーザーに「これからもＭＬに入り続けるか？」という確認を送る際のメー
    ルのテンプレートです。このファイルがない場合(makefml newml では生成さ
    れない)は fml のインストール先の drafts/confirmd.ackreq
    (e.g. /usr/local/fml/drafts/confirmd.ackreq) が使われる。

    	$CONFIRMD_ACK_LOGFILE

    には返事('ack'コマンド)のログが残り、いつ返事をしたかのデータとして
    confirmd が用いる。