#!/usr/bin/perl -w
use strict;
my $LISTQ = "postqueue -p";
my $POSTSUPER = "postsuper -d";
my $FILE="outfile";
my $info = "";
my $i;
if ( @ARGV != 1 ) {
die "Usage: $0 [\"error info\"] \n";
} else {
$info = $ARGV[0];
}
open(QUEUE, "$LISTQ |") ||
die "Can't get pipe to $LISTQ: $!\n";
my $entry = <QUEUE>;
$/ = "";
while ( $entry = <QUEUE> ) {
open(OUTFILE,">>$FILE");
print OUTFILE "$entry";
close(OUTFILE);
}
open(FILE,"$FILE") || die "open file error!";
my @other = <FILE>;
foreach( @other )
{
my $buf=$other[$i++];
my $loc=rindex($buf,$info);
if($loc != -1)
{
my @str=split /\s+/,$buf;
my $id = $str[0];
system("$POSTSUPER $id");
open(OUTFILE,">>./idfile");
print OUTFILE "$id \n";
close(OUTFILE);
}
}
system("rm -rf $FILE ./idfile");
close FILE;
[Postfix]按照队列的错误信息删除postfix挤压队列工具
最新推荐文章于 2024-05-08 21:17:17 发布