всем привет
пишу скрипт отслеживающий превышение очереди на выход почтового сервера
OUT=exim -bp| exiqsumm
в $OUT весь выхлоп в одну строку
если слать алерт по почте, плохо читаемо.
собственно вопрос: как вставить с помощью sed или awk в строку перевод строки каждые пять слов (в общем случае символы ограниченные пробелами)?
если есть варианты получше отлова превышения порога, буду рад любому совету.
> собственно вопрос: как вставить с помощью sed или awk в строку перевод
> строки каждые пять слов (в общем случае символы ограниченные пробелами)?$ seq 13 |xargs -n5
1 2 3 4 5
6 7 8 9 10
11 12 13
$ _
спасибо, Андрей
предложенный вариант работает, но поразмыслив я решил сделать проще. т.е. через запись во временный файл
в результате скрипт выглядит примерно так$EXIM -bp | $EXIQSUMM > $TMPF
CNTR=`$EXIM -bp | $EGREP "[a-zA-Z0-9]+\-[a-zA-Z0-9]+\-[a-zA-Z0-9]{2}" | $WC -l`
if [ $CNTR -ge $THRSHLD ]; then
cat $TMPF | $MAIL -s 'outmail jamming!' $RCPT
fiпо идее надо бы предусмотреть счётчик последовательных срабатываний, чтобы исключить ложные срабатывания при массовой рассылке, например. но это уже доработка напильником.
а оповещение тоже почтой? оно не попадет в ту же очередь и будет висеть там?
> а оповещение тоже почтой? оно не попадет в ту же очередь и
> будет висеть там?
> https://nagios-plugins.org/doc/man/check_mailq.htmlинтересное замечание и предложенное решение тоже
данное оповещение в основном предназначено для отслеживания проблем с почтой у смежников.
если прилетит алерт, уже голосом звонишь и спрашиваешь что там приключилось.
а на случай, если свой сервер заглючит есть nagios с плагином smtp_check
да и логи выведены на соседний монитор через tail, ccze