Como detectar que menos de x processos estão sendo executados

2

Eu preciso escrever um script de shell para ver se o processo ADM está inoperante, precisamos receber um alerta por e-mail. Eu fiz isso usando o script abaixo. Ele está funcionando bem se tivermos instalado um servidor ADM em uma máquina. Meu problema é que eu instalei 3 servidores ADM em uma máquina e não tenho certeza de como posso escrever o script de shell para acionar um alerta nessa situação.

script: -

export ADM ='ps -ef  | grep Adm | grep -v grep | wc -l'

if [ $ADM == 0 ];
then
    echo "AdmServer is down on Dev $hostname" | mail -s xxxx.gmail.com
fi

Sempre que Adm1 ou Adm2 ou Adm3 estiverem inativos, precisamos receber um alerta.

    
por Ahmed Vagher 15.10.2015 / 23:13

2 respostas

1

Atualmente, o seu script conta o número de processos ADM que ele pode encontrar e envia atualmente um email se a contagem for zero.

Seu novo critério, é que a contagem deve ser 3, então se a contagem for 0 ou 1 ou 2, você deseja enviar um e-mail.

Você precisa alterar a linha 3

if [ $ADM -lt 3 ];
    
por 16.10.2015 / 10:26
0
[ 3 -gt "$(ps -Aocomm=|grep -c ADM)" ] &&
mail -s xxxx.gmail.com <<MAIL
AdmServer is down on Dev $hostname
MAIL

Acho que o comando acima deve funcionar como um substituto para o seu.

    
por 16.10.2015 / 10:58