Может ли кто-нибудь помочь мне написать команду для отслеживания максимального количества входов в систему в exim? Дополнительно Как я могу получить верхний авторизованный вход по smtp в mail exim?
На самом деле вы не дали подробностей, поэтому вот один лайнер, который делает именно то, о чем вы просили (ни больше, ни меньше):
perl -e '
while(<>){if(/ A=(?:login|plain):(\S+) /){$found->{$1}++;}}
@sorted=(sort {$found->{$a} <=> $found->{$b}} keys %$found);
printf "%s: %d\n", $sorted[-1], $found->{$sorted[-1]}."\n";
' < /var/log/exim/main.log
Это одна длинная строка, я просто разделил ее для удобства чтения (и чтобы блок кода не отображался с помощью огромной горизонтальной полосы прокрутки).
Альтернативный вариант, если вы хотите увидеть все почтовые ящики и счетчики, превышающие некоторый минимальный порог (установите его на ноль, если вы хотите видеть все):
perl -e '
$limit = 10;
while(<>){if(/ A=(?:login|plain):(\S+) /){$found->{$1}++;}}
@sorted=(sort {$found->{$a} <=> $found->{$b}} keys %$found);
foreach my $loop (@sorted) {
printf "%s: %d\n", $loop, $found->{$loop}."\n"
if ($found->{$loop} > $limit);
}
' < /var/log/exim/main.log