Hậu tố tương đương với sendmail -bp
cái gì?
Hậu tố tương đương với sendmail -bp
cái gì?
Câu trả lời:
postqueue -p
Đây là những gì tôi sử dụng, loại ra khỏi danh sách gửi thư hậu tố. Tôi đã xóa tên tác giả, trong trường hợp anh ta không muốn nó ở đây (bạn có thể thấy nó ở nguồn). Nó chỉ hiển thị tổng số.
#!/usr/bin/env perl
# postfix queue/s size
# author:
# source: http://tech.groups.yahoo.com/group/postfix-users/message/255133
use strict;
use warnings;
use Symbol;
sub count {
my ($dir) = @_;
my $dh = gensym();
my $c = 0;
opendir($dh, $dir) or die "$0: opendir: $dir: $!\n";
while (my $f = readdir($dh)) {
if ($f =~ m{^[A-F0-9]{5,}$}) {
++$c;
} elsif ($f =~ m{^[A-F0-9]$}) {
$c += count("$dir/$f");
}
}
closedir($dh) or die "closedir: $dir: $!\n";
return $c;
}
my $qdir = `postconf -h queue_directory`;
chomp($qdir);
chdir($qdir) or die "$0: chdir: $qdir: $!\n";
printf "Incoming: %d\n", count("incoming");
printf "Active: %d\n", count("active");
printf "Deferred: %d\n", count("deferred");
printf "Bounced: %d\n", count("bounce");
printf "Hold: %d\n", count("hold");
printf "Corrupt: %d\n", count("corrupt");
EDIT: Đã sửa lỗi chính tả trên dòng 26.
count
chức năng cụ thể . Nó sẽ thất bại trong Postfix 2.9+ khi enable_long_queue_ids = yes '. Tôi nghĩ không nên quá khó để sửa nó cho các id hàng dài.
postqueue -p | tail -n 1
Dòng cuối cùng trong postqueue -p
chương trình có bao nhiêu yêu cầu và kích thước:
-- 317788 Kbytes in 11860 Requests.
[root @ server ~] # thời gian mailq | grep -c '^ [0-9A-Z]'
10
số 0m1.333 thực
người dùng 0m0.003s
sys 0m0.003s
(kết quả trên cho thấy có 10 email đang xếp hàng)
Nếu bạn không có, qshape
bạn có thể cài đặt nó thông qua các lệnh yum sau:
yum groupinstall perl development
yum install postfix-perl-scripts
qshape in tên miền hàng đợi Postfix và thông tin phân phối tuổi. Bạn có thể đọc thêm về nó ở đây:
http://www.postfix.org/QSHAPE_README.html
% qshape -s hold | head
T 5 10 20 40 80 160 320 640 1280 1280+
TOTAL 486 0 0 1 0 0 2 4 20 40 419
yahoo.com 14 0 0 1 0 0 0 0 1 0 12
extremepricecuts.net 13 0 0 0 0 0 0 0 2 0 11
ms35.hinet.net 12 0 0 0 0 0 0 0 0 1 11
winnersdaily.net 12 0 0 0 0 0 0 0 2 0 10
hotmail.com 11 0 0 0 0 0 0 0 0 1 10
worldnet.fr 6 0 0 0 0 0 0 0 0 0 6
ms41.hinet.net 6 0 0 0 0 0 0 0 0 0 6
osn.de 5 0 0 0 0 0 1 0 0 0 4
Đây là một ví dụ.
#!/bin/bash
for q in active bounce corrupt defer deferred flush hold incoming maildrop pid private public saved trace
do
count=$(find /var/spool/postfix/$q ! -type d -print | wc -l)
echo $q $count
done