drweb-qcontrolの使用

隔離の管理および隔離内の検索にはdrweb-qcontrolユーティリティを使用します。このユーティリティのインターフェースはDBIストレージ内、またはディスク上のファイル内どちらに保存されているメッセージにも使用することが出来ます。

使用可能なコマンドラインパラメータは以下のとおりです。

-h [ --help ] - ヘルプを使用します。
--version - プログラムのバージョンに関する情報を見ます。
-v [ --verbose ] - 実行された全てのアクション、および受け取った結果に関する情報をコンソールに出力します。
-l [ --level ] arg (=error) - スタートアッププロセスのロギングに対するログの詳細レベルです。可能な値はquieterroralertinfodebugです。
--syslogfacility arg (=mail) - ロギングにsyslogdシステムユーティリティを使用した場合のログの種別です。可能な値はdaemonmaillocal0...local7です。
-i [ --ipc-level ] arg (=error) - IPCログの詳細レベルです。可能な値はquieterroralertinfodebugです。
--log-filename arg (=syslog) - ロギングがsyslogdシステムユーティリティによって実行された場合のログファイルの名前、またはsyslog値です。
--sendmail arg (=/opt/drweb/drweb-inject) - drweb-inject ユーティリティへのパスです。
-s [ --socket ] arg (=local:/var/drweb/ipc/.ctl) - Dr.Web MailDコントロールソケットへのパスです。
--agent arg (=local:/var/drweb/ipc/.agent) - 設定の受け取りにDr.Web Control Agentのアドレスを使用します。
--timeout arg (=60) - Dr.Web Control Agentから設定情報を受け取る際の待ち受け最大時間です。

アクションを適用するメッセージのリストを入手するにはユニークな識別子、すなわち隔離内に保存されたファイルへの相対パスを使用します。識別子内では特別な記号("%"は0以上の任意の記号、"_"は1つの任意の記号です。)が用いられます。 識別子を設定する際にはdef/を頭に指定してください。

例:

 def/%00014F7F% -00014F7Fが付いた隔離されたメッセージ全てを選択します。

 def/drweb/% - drwebプラグインによって隔離されたメッセージ全てを選択します。

選択される識別子のファイルは検索条件、またはコマンドラインから受け取ります。標準入力ストリームを使用することも出来ます(検索基準が指定されておらず、コマンドライン経由で設定された識別子が無い場合)。

可能なアクションは以下のとおりです。

--view - ある特定の識別子を持ったメッセージを全て、PAGER環境変数内で指定されたプログラム経由で表示する指定です。PAGER変数内で値が指定されていない場合、catプログラムが使用されます。
--send - ある特定の識別子を持ったメッセージを全て元の受信者に送信します。配信にはdrweb-injectユーティリティが用いられます。
--redirect [list_of_rcpts] - ある特定の識別子を持ったメッセージを全てアドレスのリストに転送します。配信にはdrweb-injectユーティリティが用いられます。
--remove - ある特定の識別子を持ったメッセージを全て隔離から削除します。
--stat - ある特定の識別子を持ったメッセージに関する統計情報を出力します。

例:

drweb-qcontrol --stat def/%

1. def/backup/B/00014F8B.DW_SHOT_PRODUCT.U0dshM   from: a@1; to: a@fff; time: 2008-08-14 12:10:57

2. def/drweb/F/00014F8F.DW_SHOT_PRODUCT.QqFpdH    from: a@4; to: a@fff; time: 2008-08-14 13:00:50

3. def/backup/C/00014F8C.DW_SHOT_PRODUCT.A39xp7   from: a@2; to: a@fff; time: 2008-08-14 13:00:50

4. def/backup/F/00014F8F.DW_SHOT_PRODUCT.tMi6W2   from: a@4; to: a@fff; time: 2008-08-14 13:00:50

5. def/drweb/3/00014F93.DW_SHOT_PRODUCT.n9xPjU    from: a@3; to: a@fff; time: 2008-08-14 13:30:49

6. def/backup/3/00014F93.DW_SHOT_PRODUCT.ewYFVA   from: a@3; to: a@fff; time: 2008-08-14 13:30:49

7. def/backup/4/00014F94.DW_SHOT_PRODUCT.JQ3sLH   from: a@3; to: a@fff; time: 2008-08-14 13:30:49

アクションは指定された順番で実行されます(1つのコマンド内で複数のアクションを指定することが可能です)。

例:

drweb-qcontrol --send --remove def/backup/F/00014F7F.DW_SHOT_PRODUCT.yv4ro9

このコマンドはdef/backup/F/00014F7F.DW_SHOT_PRODUCT.yv4ro9識別子を持つメッセージを元の受信者に送信し、次にそのメッセージを隔離から削除します。

隔離されたメッセージをDBIストレージに保存するようにDr.Web MailDを設定してある場合、コマンドライン内で追加のSQLコマンドを指定する必要があります。

--sql-remove-command - このファイル識別子を使用する隔離ディレクトリからメッセージを削除することが出来ます。

:

--sql-remove-command "DELETE FROM mail_export WHERE filename LIKE ?"

drweb-qcontrolユーティリティは、保存されたメッセージ内で検索を実行する為のシンプルなインターフェースも持っています。

使用可能な検索条件は以下のとおりです。

--search-from {address} - エンベロープ内の送信者アドレスを検索します。
--search-to {address} - エンベロープ内の受信者アドレスを検索します。
--search-headers {header_name[:value]} - ヘッダを検索します。header_nameは検索対象となるヘッダの名前です。valueが指定されていない場合、ヘッダ名のみが使用されます。valueが指定されている場合はそれがヘッダの記述内でサブストリングとして検索されます。ヘッダ名およびその値の大文字小文字は区別されません。
--search-inbody {list of strings} - メッセージ本文内のサブストリングを検索します。メッセージ本文はシングルユニットとして扱われ、MIME-decodingは行いません。大文字小文字は区別されません。

特別な記号*、^、$--search-headersおよび--search-inbodyパラメータの引数として使用した場合、検索コマンドを正しく処理する為にバックスラッシュ(\)をそれらの前に置いてください。

:

--search-inbody \* --stat

検索条件はそれぞれ個別にチェックされます。

例:

--search-to addr1 --search-to addr2

エンベロープに受信者アドレスaddr1またはaddr2を含むメッセージを検索します(論理和ORを使用して結合します)。

例:

--search-from from@drweb.com --search-to to@drweb.com –search-headers "Subject: [SPAM]" --search-inbody "spam"

from@drweb.comから送信された、to@drweb.comに送信された、Subject内に[SPAM]という語を含む、メッセージ本文にスパムという語を含む、の内いずれかに該当する、隔離内のメッセージ全てを検索します。

ファイルのリストを持つコマンドライン内で指定された検索条件がある場合、検索はそれらのファイル内でのみ実行されます。

例:

drweb-qcontrol --stat --search-from a@5 def/backup/%

a@5によって送信され、アーカイブされた全てのメッセージに関する情報をコンソールに出力します。

1. def/backup/5/00014F95.DW_SHOT_PRODUCT.1LXzg1 from: a@5; to: a@drweb.com time: 2008-8-14 15:1:46