[Script] Validar se não possui usuários ativos gerar alerta

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).

CATEGORIES:

Software Livre

Tags:

Comments are closed