対話式インターフェースによる管理

Dr.Web MailDの動作の際に対話式インターフェースを介してコマンドを実行することが可能です。対話はdrweb-maildモジュールのコントロールソケット経由で行われます(drweb-maild自体が動作していてコントロールソケットが有効になっていることが必要です)。

対話式インターフェースによる管理を実行するには以下の手順を実行してください。

1.Dr.Web MailD設定ファイルの[Maild]セクションにあるControlパラメータにYesを設定します。
2.Dr.Web MailD設定ファイルの同じセクションにあるControlAddressパラメータで指定されたアドレスに接続し、対話モードでコマンドを入力してください。確立可能な対話式接続は1つだけなので注意してください。

対話は行ごとに実行され、ユーザがストリングをいくつか入力すると、それに対してdrweb-maildがストリングをいくつか出力します。そのため複数行のコマンドを使用することは出来ず、複雑なルールは1行ずつ入力する必要があります。

drweb-maildから出力される情報の終わりは空の行で示します。

複数の対話式接続を同時に確立することが出来ます。IPv4およびIPv6プロトコルのどちらもサポートしています。Controlパラメータの値に関係なく、Dr.Web MailDは常に/directory_specified_as_a_value_of_BaseDir_parameter/ipc/.ctlの接続待ちソケットを開いています。

使用可能なコマンドは以下のとおりです。

help [section|command] - 全てのセクションのコマンド一覧を出力します。このコマンドの後にセクション名を指定し、そのセクションの全てのコマンドに関する情報を受け取ることが出来ます。また、情報を得たいコマンドの名前を指定することも出来ます。help allコマンドを使用して全てのコマンドの一覧を見ることが可能です。
option [regex] - drweb-maildおよびプラグインによって使用されるパラメータとその値の一覧を出力します。パラメータ名をoptionコマンドに対する正規表現として指定すると、それに一致するパラメータの一覧のみが出力されます。正規表現が指定されていない場合、全てのパラメータが出力されます。
db-state - 内部データベースの状態を以下の書式で出力します。

Number: NC/NM

Size: SC/SM

NCおよびNMはデータベース内の現在のメッセージ数と上限で、SCおよびSMはバイト単位での現在のデータベースサイズと上限です。NMまたはSMが0の場合、制限はありません。

queue-state - 内部キューにあるメッセージの状態を出力します。メッセージの総数、およびそれぞれのメッセージに関する情報が出力されます。総数が大きい場合、drweb-maildの2番目のプールのスレッドが不足している可能性があります(OutPoolOptionsパラメータで調整)。
send-stat - 統計情報を強制的に送信/エクスポートします(Dr.Web MailD設定ファイルの[Stat]セクションにあるSendPeriodパラメータによって設定されたタイムアウトに対するアクションと似ています)。このコマンドはDr.Web MailD設定ファイルの[Stat]セクションにあるSendパラメータがYesに設定されている場合に使用することが出来ます。
send-report [period] - プラグインの動作に関するレポートメールを強制的に送信します(Dr.Web MailD設定ファイルの[Reports]セクションにあるSendTimesパラメータによって設定されたタイムアウトに対するアクションと似ています)。このコマンドはDr.Web MailD設定ファイルの[Stat]セクションにあるSendパラメータがYesに設定されている場合に使用することが出来ます。periodはレポート対象の期間を定義し、設定されていない場合は24時間が対象となります。
backup - 内部データベースのバックアップを作成します。
quarantine-pulse - 隔離処理のためのdrweb-qpユーティリティを強制的に初期化します(Dr.Web MailD設定ファイルの[Quarantine]セクションにあるPulseTimeパラメータによって設定されたタイムアウトに対するアクションと似ています)。
dump-cache-stat - キャッシュされた統計情報を全てオペレーティングメモリから内部データベースに移します。
get [(id1|-|id1-[id2]) [(plugin_name|-)]] - 内部データベースに保存されているメッセージに関する情報を出力します。idNは要求されたメッセージの数で、id1-id2のような場合はこの範囲のメッセージを、id1のように指定するとid1で始まる番号(番号は16進法で指定します)を持つ全てのメッセージをそれぞれ指定することが出来ます。plugin_nameはメッセージを隔離データベースに移動したプラグインの名前です。"-"はパラメータが指定されていないことを意味し、その場合データベースの全てのメッセージに関する情報が出力されます。

例:

get - drweb - drwebプラグインによって隔離されたメッセージに関する情報を出力します。

get - outputs - データベースに保存された全てのメッセージに関する情報を出力します。

send [(id1|-|id1-[id2]) [(plugin_name|-)] [force]] - メッセージをそのエンベロープの受信者宛てに送信します。コマンドgetの出力でsend=noとなっているメッセージのみ送信することが出来ます。パラメータの記述はgetコマンドと同じです。新しいパラメータforceを指定するとsend=yesのメッセージも送信することが可能です。
export [(id1|-|id1-[id2]) [(plugin_name|-)] [(dir_name|-)] [env] - 指定したメッセージをデータベースから別々のファイルにエクスポートします。パラメータの記述はgetコマンドと同じですが、以下の2つのパラメータを追加することも出来ます。
dir_name - ファイルを保存するディレクトリへのパスです。パスが指定されていない場合、Dr.Web MailD設定ファイルの[General]セクションにあるBaseDirパラメータの値が使用されます。
env - この値が指定されている場合、エンベロープもファイルにエクスポートされます。1行目に送信者アドレスが、2行目に受信者アドレスが出力され、複数の場合はカンマで区切って列挙されます。

メッセージの保存ファイル名は"識別子.eml"に、エンベロープ情報の保存ファイル名は"識別子.envelope"になります。

 例:

 export 00002D94 vaderetro /t env

 Success export body to /t/00002D94.eml and envelope to /t/00002D94.envelope

remove [(id1|-|id1-[id2]) [(plugin_name|-)] - 指定されたメッセージをデータベースから削除します。パラメータの記述はgetコマンドと同じです。

 例:

 remove 00002D93

 Success remove record 00002D93

send_and_remove [(id1|-|id1-[id2]) [(plugin_name|-)] [force_send] [ignore_send_error] - 指定されたメッセージをデータベースから送信、削除します。force_sendパラメータの値はsendコマンドのforceパラメータの値と同じです。メッセージがsend_and_removeコマンドによって無事に送信された場合やメッセージの配信が必要でない場合(前に送信されている)、メッセージは削除されます。ignore_send_errorパラメータが指定されている場合、配信がうまくいったかどうかに関わらずメッセージは削除されます。
notify - 通知の作成をチェックします。コマンドはドキュメンテーションのあるディレクトリ内のnotify.*ファイルに記載されています。
version - 製品のバージョンを出力します。
stop - 製品を停止します。
reload - drweb-maildSIGHUPシグナルを送信します。