[PREVIOUS CHAPTER] [______TOC_______]
6 Confirmation Daemon (libexec/confirmd.pl)


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

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


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

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

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

6.2	設定の仕方

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

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

6.3	時間の変数

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

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

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

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

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

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

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

6.4	ファイル

	$CONFIRMD_ACK_REQ_FILE ($DIR/confirmd.ackreq)

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

	$CONFIRMD_ACK_LOGFILE

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