URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 65250
[ Назад ]

Исходное сообщение
"qmail очередь"

Отправлено redmoon , 30-Мрт-06 15:16 
подскажите - как очистить очередь кумайл
поймал  от клиента спама массу в /var/qmail/queue
знаю что нельзя просто руками очистить очередь.
как корректно убить все сообщения в очереди
и начать с чистой очереди ?
qmail+vpopmail+daemontools+mysql

Содержание

Сообщения в этом обсуждении
"qmail очередь"
Отправлено lexa , 30-Мрт-06 16:10 
>подскажите - как очистить очередь кумайл
>поймал  от клиента спама массу в /var/qmail/queue
>знаю что нельзя просто руками очистить очередь.
>как корректно убить все сообщения в очереди
>и начать с чистой очереди ?
>qmail+vpopmail+daemontools+mysql


почему это нельзя "руками чистить" ?
нужно только удалить всё что касается письма.
info local mess remote
обычно в этих директориях лежит всё. если пустить поиск по файлам с одним номером - то найдёшь их в указанных директориях, каждый из них отвечает за письмо и несёт информацию.
если нет никаких "приблуд", типа http://jeremy.kister.net/code/qmqtool/ , то можно потушить на время qmail и "почистить таким макаром очередь.


"qmail очередь"
Отправлено tian , 30-Мрт-06 16:23 
Можно руками, но лучше скриптом. Лови, может поможет, когда столкнулся с этим, пришлось накатать его, не руками же убивать сотни писем...
Он убивает ВСЕ из очереди. Если нужны конкретные письма - придется подрихтовать его.

#! /usr/bin/perl

$FIND="/usr/bin/find";
$PS="/usr/bin/ps";
$RM="/usr/bin/rm";
$QUEUEDIR="/home/qmail/queue";

print "WARNING: Clear all messages in the queue of qmail ?";
$a=<STDIN>;
$a=~s/\n//g;
if ($a ne "yes") { print "Aborted...\n"; exit 1; }

@m=`$PS -Af`;

foreach $value (@m) {
    if ($value=~/\s+qmail/) {
        print "You must stopped qmail processor first...\n";
        print "Aborted...\n";
        exit 1;
    }
}

print "WARNING: Really you want clear all messages in the queue of qmail ?";
$a=<STDIN>;
$a=~s/\n//g;
if ($a ne "yes") { print "Aborted...\n"; exit 1; }

undef (@m);

@m=`$FIND $QUEUEDIR`;

$num=0;
print "Please wait...\n";
foreach $value (@m) {
    if ($value=~/\/lock/) { next; }
    `$RM -f $value`;
    $num++;
}
print "In the queue deleted $num messages\n";
exit 0;


"qmail очередь"
Отправлено redmoon , 30-Мрт-06 16:40 
все большше спасибо ..
сделал вот так :
http://downloads.qmailrocks.ru/utils/qmhandle-1.2.0.tar.gz
Утилита для работы с очередями qmail.

"qmail очередь"
Отправлено Malk , 31-Окт-07 14:34 
> почему это нельзя "руками чистить" ?
> нужно только удалить всё что касается письма.
> info local mess remote
> обычно в этих директориях лежит всё. если пустить поиск по файлам с одним номером - то > найдёшь их в указанных директориях, каждый из них отвечает за письмо и несёт информацию.
> если нет никаких "приблуд", типа http://jeremy.kister.net/code/qmqtool/ , то можно потушить на время qmail и "почистить таким макаром очередь.

Эмм... у меня сейчас как раз такая ситуация когда нужно почистить очередь... только ли в Указанных папках нужно все поудалять?

как насчет папок /todo, /bounce, intd? (они также находятся в папке /var/qmail/queue)