Criar um script para verificar o número de logins ativos e configurar um cron job para executá-lo a cada 10 minutos. Aqui está como você pode fazer isso:
1. Criar o Script
Crie um script chamado check_active_logins.sh
:
#!/bin/bash
# Arquivo para armazenar o número de falhas
count_file="/tmp/active_logins_count.txt"
# Verifica o número de logins ativos
active_logins=$(fuid-cfg status | grep "Active Logins" | grep -o '[0-9]\+')
# Inicializa o contador se o arquivo não existir
if [ ! -f "$count_file" ]; then
echo 0 > "$count_file"
fi
# Lê o contador de falhas
failure_count=$(cat "$count_file")
# Verifica se o número de logins ativos é igual a zero
if [ "$active_logins" -eq 0 ]; then
failure_count=$((failure_count + 1))
echo "$failure_count" > "$count_file"
else
# Reseta o contador se houver logins ativos
echo 0 > "$count_file"
fi
# Se o contador de falhas for maior ou igual a 3, envia o alerta
if [ "$failure_count" -ge 3 ]; then
echo -e "Subject: Alerta: Sem Logins Ativos\n\nO número de logins ativos é 0 há mais de 3 verificações." | sendmail destinatario@example.com
# Reseta o contador após o envio do alerta
echo 0 > "$count_file"
fi
2. Tornar o Script Executável
Dê permissão de execução ao script:
chmod +x check_active_logins.sh
3. Configurar o Cron Job
Edite o crontab para adicionar a execução do script a cada 10 minutos:
crontab -e
E adicione a seguinte linha:
*/10 * * * * /caminho/para/o/script/check_active_logins.sh
Substitua /caminho/para/o/script/
pelo caminho completo onde você salvou o script.
Resumo
Este script verifica o número de logins ativos a cada 10 minutos. Se o número for igual a zero por três verificações consecutivas, um alerta será enviado via SMTP. O contador é armazenado em um arquivo temporário (/tmp/active_logins_count.txt
).
Comments are closed