INNXBATCH(8)

名前
innxbatch - リモートの NNTP server への記事の xbatch による配送

形式
innxbatch [ -D ] [ -t timeout ] [ -T timeout ] [ -v ] host file ...

機能説明
innxbatch は host で指定した NNTP サーバに接続し、NNTP での共通拡張である XBATCH を使用して、 指定した xbatch ファイルを配送します。 これは通常、 cron(8) からのスクリプトから起動され、そのスクリプトでは、 shlock(1) を使用してホスト名でロックし、 ctlinnd(8) コマンドでバッチファイルを flush するようにしておきます。

innxbatch は通常、コネクションが確立されるまでそのまま待ちます。 コネクションが確立するまでのタイムアウトを指定する場合、``-t'' オプションを使用します。
記事の配送にかかる総時間を制限する場合、``-T'' オプションを使用します。
デフォルトでは I/O エラーが起きるか、すべての記事が配送されるまで終了しません。 ``-T'' オプションを使用すると、記事の配送を行う前に時間をチェックします。 なお、記事の配送途中では終了しません。 いずれのオプションの値も秒単位でチェックされます。

正常に配送がされれば、file は削除されます。

write(2) エラーやリモートサーバからの期待していないリプライを受ける等の通信上のエラーが起きると、 innxbatch は配送を停止し、次回での配送のために file のすべての残りの部分はそのままとなるように書き換えます。

innxbatch は終了すると、 syslog(3) 経由で配送と CPU の使用率の統計を報告します。 ``-v'' オプションを使用すると、標準出力にもこれを出力します。

``-D'' オプションを使用すると、標準エラー出力にデバッグ情報を出力します。 これにより、 innxbatch とリモートの NNTP サーバ間でのプロトコルトランザクションを出力します。

xbatch ファイルとして適切なものを生成する newsfeeds(5) でのサンプルエントリは次のようになります(Karsten Leipold <poldi@dfn.de> に感謝します)。
  nase\
    :*\
    :Tc,Wnb\
    :/usr/news/bin/batcher \
       -p "(/usr/bin/compress > /var/news/spool/out.going/nase.\$\$)" \
       nase.do.main
innxbatch(8) を起動するサンプルスクリプトは次のようになります。
  #!/bin/sh
  ##  innxbatch を使用したサイト向けの xbatch を送るためのシェルスクリプト
  ##  使用法:
  ##     sendxbatches.sh <sitename> <hostname> <xbatch file name> ...
  if [ $# -le 3 ]
  then
	echo "usage: $0 <sitename> <hostname> <xbatch file name>"
	exit 1
  fi
  . /var/news/etc/innshellvars
  site="$1"; host="$2"; shift; shift
  ctlinnd flush "$site" \
  && sleep 5 \
  && exec $NEWSBIN/innxbatch -v -D "$host" $*

履歴
innxmit(8) と、NNTP のリファレンス実装に対する XBATCH パッチをもとに Stefan Petri <petri@ibr.cs.tu-bs.de> により記述されました。 日本語訳は kondou@uxd.fc.nec.co.jp によって行われました。

関連事項
innxmit(8)、 nntpsend(8)、 ctlinnd(8)、 innd(8)、 newsfeeds(5)、 shlock(1)