LINUX.ORG.RU

Скрипт mail queue

 ,


0

1

День добрый уважаемые форумчане.

Не судите строго, так как я недавно начал изучать линукс и еще мало в чем разбираюсь в отрасли баш скрипта. У меня возникла проблемка при создание скрипта, функция которого должна быть следующей :

1) when run it must check how many mails are waiting in a queue, if there are more than 5 mails in a queue it should send alarm mail to user root.

2) once script sends mail to root it must not send mail repeatedly on every run

3) script also must send mail to root when mailqueue comes down under 5

4) only root should run this script

Так вот я начал свое деяние и никак не могу понять логику построение скрипта.. единственно что я попробовал так это написать вот этот код :

#!/bin/bash

lenght= /usr/sbin/postqueue -p | tail -n1 | awk '{print $5}' count= echo $lenght | grep «[0..5]» if [ «lenght» == «5» ]; then

а вот дальше что ? ( и как ? Буду очень благодарен за любую помощь..

Хорошего всем дня ).



Последнее исправление: zimmer (всего исправлений: 1)

По-русски попробуй написать, потом в псевдокод переведешь, потом код напишешь

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за совет. Моя просьба заключалась в помощи со скриптом а не в тафтологии.

zimmer
() автор топика
# ls -l /usr/lib/nagios/plugins/check_mailq
-rwxr-xr-x 1 root root 22447 Jul 13  2014 ./check_mailq


!!! -M (--mailserver) = [ sendmail | qmail | postfix | exim | nullmailer ] (default = autodetect)




# /usr/lib/nagios/plugins/check_mailq --help

Usage: check_mailq -w <warn> -c <crit> [-W <warn>] [-C <crit>] [-M <MTA>] [-t <timeout>] [-v verbose]

   Checks the number of messages in the mail queue (supports multiple sendmail queues, qmail)
   
-w (--warning)   = Min. number of messages in queue to generate warning
-c (--critical)  = Min. number of messages in queue to generate critical alert ( w < c )
-W (--Warning)   = Min. number of messages for same domain in queue to generate warning
-C (--Critical)  = Min. number of messages for same domain in queue to generate critical alert ( W < C )
-t (--timeout)   = Plugin timeout in seconds (default = 15)
-M (--mailserver) = [ sendmail | qmail | postfix | exim | nullmailer ] (default = autodetect)
-h (--help)
-V (--version)
-v (--verbose)   = debugging output


Note: -w and -c are required arguments.  -W and -C are optional.
 -W and -C are applied to domains listed on the queues - both FROM and TO. (sendmail)
 -W and -C are applied message not yet preproccessed. (qmail)
 This plugin tries to autodetect which mailserver you are running,
 you can override the autodetection with -M.
 This plugin uses the system mailq command (sendmail) or qmail-stat (qmail)
 to look at the queues. Mailq can usually only be accessed by root or 
 a TrustedUser. You will have to set appropriate permissions for the plugin to work.



anonymous
()
Ответ на: комментарий от anonymous

=) то что нужно ... спасибо большое..

zimmer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.