BUFFCHAN(8)

名前
buffchan - InterNetNews 用バッファリングファイル

形式
buffchan [ -b ] [ -c lines ] [ -C seconds ] [ -d directory ] [ -f fields ] [ -m map ] [ -p pidfile ] [ -l lines ] [ -L seconds ] [ -r ] [ -s file_format ] [ -u ]

機能説明
buffchan は標準入力からデータを読み込み、 そのデータのあるフィールドをデータ内の他のフィールドに書かれたファイル名に出力します。 buffchan は exploder feed として innd(8) から呼ばれるようにしておきます。

オプション

-b  buffchan はファイルを一旦オープンするとファイルをオープンし続けます。 そのため同時にファイルをオープンできる数以上のファイルを使用することになる入力データを指定することはできません。 ``-b'' オプションを使用すると、 setbuf(3) を使用してバッファを確保し、 出力ファイル用のバッファを割りあててバッファリングしながら出力を行います。

-c  n という数字とともに ``-c'' オプションを使用すると、 buffchan はファイルに n 行書き込む毎にクローズと再オープンを行います。

-C  同様に n 秒毎にすべてのファイルをクローズと再オープンを行うようにするために ``-C'' オプションを使用することができます。

-d  ``-d'' オプションは処理をする前にディレクトリを変更するために使用することができます。 このオプションが使用されると、``-s'' オプションはデフォルトで単に ``%s'' となります。

-f  buffchan の入力は各行にデータがかかれたものとみなします。 各行は固定個の初期フィールドに続く可変個のファイル名のフィールドから構成されます。 各行のすべてのフィールドはホワイトスペースで区切られています。 初期フィールドのデフォルトの個数は 1 で、``-f'' オプションにより個数を指定することができます。 例として filechan(8) を参照してください。

-p  ``-p'' オプションを使用すると、指定したファイルにプロセス ID の行を(テキストとして)書き込みます。

-l  n という数字とともに ``-l'' オプションを使用すると、 buffchan はファイルに n 行書き込む毎に fflush(3) を呼びます。

-L  n という数字とともに ``-L'' オプションを使用すると、すべてのファイルは n 秒毎にフラッシュされます。

-r  デフォルトでは、このコマンドは標準エラー出力を /var/log/news/errlog としています。 これを行わないようにするには ``-r'' オプションを使用します。

-s  初期フィールドの後の各フィールドには出力を行うファイル名となっています。 フィールドとファイル名とのマッピングを指定するためには、``-s'' オプションを使用します。 これは sprintf(3) での形式の文字列となっていて、フィールドに相当する ``%s'' というパラメータを一つのみ使用できます。 デフォルトの値は /var/news/spool/out.going/%s となっています。

-m  このオプションの説明については filechan(8) を参照してください。

-u  ``-u'' オプションを使用すると、バッファリングせずに出力を行います。

buffchan は exploder feed として起動されます( newsfeeds(5) を参照してください)。 そのため、``!'' で始まる行はコマンドであると解釈されます。 buffchan で解釈するコマンドには次の三つがあります。

flush
    ``flush'' コマンドはすべてのファイルをクローズし、再びオープンします。 ``flush xxx'' となっていれば指定したファイルのみのフラッシュを行います。 これは ctlinnd(8) ``flush'' を実行するのと似ていて、``send "flush xxx"'' により実行できます。 アプリケーションは、``flush'' が終了したことをコマンドを実行する前にファイル をリネームしておくことにより知ることができます。 これは、元のファイルが再び現れれば、 buffchan が終了したということになるからです。

    buffchan は各出力ファイルをフラッシュあるいはクローズすると、 そのファイルの mode をすべてのユーザへの read のみの mode から owner と group のみの read-write の mode に変更します。 同じファイルを再オープンする場合は、read のみの mode に変更します。

drop
    ``drop'' コマンドはどのファイルも再オープンしないということ以外は ``flush'' に似ています。 引数がある場合には、指定したサイトをドロップし、それ以外はすべてのサイトをドロップします。 (ドロップしたサイトが入力データに入っていれば、そのサイトは再始動(出力される)することに留意してください。) ctlinnd ``drop site'' を実行すると、そのサイトがこの exploder への funnel となっていれば、 innd は自動的にこのコマンドを buffchan に転送します。 すべてのサイトをドロップするには ctlinnd ``send buffchan-site drop'' を使用します。

readmap
    (``-m'' オプションで指定される)マップファイルを再ロードします。

履歴
InterNetNews 用に Rich $alz <rsalz@uunet.uu.net> により記述されました。

関連項目
ctlinnd(8)、 filechan(8)、 innd(8)、 newsfeeds(5)