qtool - システム管理コマンドの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 例
- バグ
- 関連項目
- 履歴
名前
qtool
- sendmail のキューを操作する
書式
qtool.pl
[options]
target_directory source [source ...]
qtool.pl [-d|-b]
[options]source [source ...]
説明
qtool
は sendmail が使用するキューファイルをキューディレクトリ間で移動する。
sendmail と同じロック機構を使うので、
sendmail が稼働している間も安全に使用できる。
オプションが指定されていない場合、
qtool
は source
で指定された全てのキューファイルを
ディレクトリ target_directory
に移動する。
source
は、キュー制御ファイル・キューファイルの ID・
キューディレクトリのどれでもよい。
-d オプションが指定された場合、qtool は source で指定されたメッセージを
移動ではなく削除する。
-b オプションが指定された場合、選択されたメッセージは
-OTimeout.queuereturn=now オプションをつけた sendmail を実行することにより
バウンスされる (送信者に送り返される)。
オプション
-
-b
-
source で指定された全てのメッセージをバウンスする。
メッセージはすぐにバウンスされる。
メッセージの配送を試みない。
-
-C
configfile
-
sendmail の設定ファイルを指定する。
デフォルトは /etc/mail/sendmail.cf である。
-
-d
-
source で指定された全てのメッセージを削除する。
-
-e
perl_expression
-
source
で指定されたキューファイルについて、
perl_expression
を評価する。
perl_expression
が真と評価された場合、そのキューファイルは移動される。
perl_expression
の詳細については、下記を参照すること。
-
-s
seconds
-
source
で指定されたキューファイルのうち
修正時刻が seconds
秒より前のものだけを移動する。
Perl 表現
このプログラムでは Perl 表現を使うことができる。
Perl 表現の中では、キューに入れられたメッセージのデータだけでなく、
制御ファイルのフィールドの内容を含むハッシュにもアクセスできる。
ハッシュは %msg
という名前である。
フィールドに複数の値がある ('Recipient' のような) 場合、
値は配列として返される。
値が 1 つの場合、値はスカラーで返される。
ハッシュ %msg
を使って、以下の値にアクセスすることができる。
-
auth
-
AUTH= パラメータ。
-
body_type
-
ボディタイプ (8BITMIME
, 7BIT
, または未定義)。
-
body_last_mod_time
-
ボディが最後に修正された時刻。紀元年 (epoch) から秒数で表す。
-
body_size
-
ボディファイルのサイズ (バイト単位)。
-
charset
-
文字セット (将来使用するためにある)。
-
content-length
-
Content-Length: ヘッダー値 (Solaris の sendmail のみ)。
-
controlling_user
-
制御しているユーザー。
-
control_last_mod_time
-
制御ファイルが最後に修正された時刻。紀元年 (epoch) から秒数で表す。
-
control_size
-
制御ファイルのサイズ (バイト単位)。
-
creation_time
-
制御ファイルが生成された時刻。
-
data_file_name
-
データファイル名 (使わない方が良い)。
-
envid
-
ESMTP で送られてきたオリジナルのエンベロープの ID。
-
error_recipient
-
エラーの場合の受信者 (使わない方が良い)。
-
flags
-
以下の値を持つことできる文字配列。
-
w
-
警告メッセージが送信された。
-
r
-
エラー応答、または DSN。
-
8
-
ボディに 8 ビットのデータがある。
-
b
-
Bcc: ヘッダーを削除する。
-
d
-
エンベロープに DSN RET= パラメータがある。
-
n
-
ボディを返さない。
-
headers
-
これは Perl のハッシュで、rfc822 フィールド名をキー、
rfc822 フィールド値を値にしている。
フィールドに 1 つしか値がない場合、値は文字列として返される。
('Received' のように) フィールドに 2 つ以上の値がある場合、
値は文字列のリストとして返される。
-
inode_number
-
データ (ボディ) ファイルの i ノード番号。
-
next_delivery_time
-
次の配送が試みられる最も早い時刻。
-
num_delivery_attempts
-
配送を試みた回数。
-
macro
-
定義されたマクロ。
-
message
-
エンベロープ状態のメッセージ。
-
original_recipient
-
本来の受信者 (ORCPT= パラメータ)。
-
priority
-
変更されたメッセージの優先度。
-
recipient
-
コロンと受信者名が後に続く文字フラグの配列。フラグを以下に示す。
-
N
-
NOTIFY= パラメータがある。
-
S
-
要求した DSN が成功した。
-
F
-
要求した DSN が失敗した。
-
D
-
要求した DSN が遅れている。
-
P
-
(alias または forward で展開される前の) 元々のアドレス。
-
sender
-
送信者。
-
version
-
制御ファイルのバージョン。
例
-
qtool.pl q2 q1
-
キューディレクトリ q1 にあるキューファイルを
キューディレクトリ q2 に移動する。
-
qtool.pl q2 q1/d6CLQh100847
-
キューディレクトリ q1 にある ID が d6CLQh100847 のメッセージを
キューディレクトリ q2 に移動する。
-
qtool.pl q2 q1/qfd6CLQh100847
-
キューディレクトリ q1 にある ID が d6CLQh100847 のメッセージを
キューディレクトリ q2 に移動する。
-
qtool.pl -e '$msg{num_delivery_attempts} == 3' /q2 /q1
-
今までに 3 回配送が試みられた全てのキューファイルを
キューディレクトリ q1 から q2 に移動する。
バグ
sendmail 8.12 では、メッセージの qf ファイルと df ファイルを
別々のキューに格納することができる。
この場合、qtool には df ファイルのパス名ではなく、
qf ファイルのパス名を指定しなければならない。
安全のため、絶対に qtool に df ファイルのパス名を指定してはならない。
関連項目
履歴
qtool
コマンドは
sendmail 8.10
で登場した。
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする