wagner31
(usa CentOS)
Enviado em 05/12/2016 - 17:19h
msoliver escreveu:
Wagner, bom dia.
o "IP_SERVIDOR" é para eu definir qual IP não quero que ele gere a monitoração correto?
Correto.
Sim, ele "pega" os dados de CONECTADOS.txt , que tem os IP's e usuários que estão logados no momento em que o arquivo foi gerado.
A informação sempre vai existir ali dentro dele com os ips que logaram?
Não, a informação é referente aos IP's que estão logados.
Se o usuário permanecer logado, voce gostaria que enviasse o email somente uma vez?
Caso positivo, será necessário gerar um log dos "EMAIL's" enviados . . . e ignorar os mesmos . . .
No aguardo.
Marcelo
Bom dia Marcelo
gostaria que enviasse o email somente uma vez sim, é mais para controlar a hora do acesso e de qual maquina veio o login.
não teria como usar o script q eu utilizei mas colocando uma variavel que se for diferente desse IP que não quero que envie ele não envia?[/quote]
Wagner, boa tarde.
Quanto ao seu script, ele acusa erros . . . .
Conforme citei na postagem de Nº 4.
Adequei o script para enviar o E-MAIL somente 01 vez, e com a hora do login . . .
Segue:
#!/bin/bash
to="destino@a.com.br"
from="remetente@a.com.br"
subject="URGENTE - Login realizado no SERVER"
IGNIP="IP_IGNORE.txt"
w|awk '/([0-9]{1,3}\.){3}[0-9]{1,3}/{print $3,$1,$4}' > CONECTADOS.txt #GERA ARQUIVO
if [ -s CONECTADOS.txt ];then #SE O ARQUIVO FOR MAIOR QUE ZERO . . .
while IFS=" " read -r C01 C02 C03;do #PEGA "LINHA A LINHA" IP, LOGIN e HORA
if ! grep -q "^$C01$" $IGNIP;then #SE O "IP" NÃO FOR ENCONTRADO NO ARQUIVO $IGNIP, ENVIA EMAIL
mensagem="Usuario: $C02 realizou o login partir do IP: $C01 as: $C03"
#Notifica via e-mail
cat <<EOF | sendmail -t
From:$from
To:$to
Subject:$subject
$mensagem
EOF
echo "$C01" >> $IGNIP # ATUALIZA O ARQUIVO "IP_IGNORE.txt" . . .
fi
done<CONECTADOS.txt
fi
OBS.: Coloque o
IP do SERVER , no ARQUIVO
IP_IGNORE.txt
Testei aqui e envia somente um vez.
E não ESQUEÇA!
Se a resposta foi SATISFATóRIA, marque-a como A MELHOR.... :)
É isso . . .
Marcelo Oliver
[/quote]
Marcelo, não está mandando o email com IP do servidor que estiver no arquivo IP_IGONORE, porém ele está adicionando o IP da minha maquina quando logo no server, fazendo com que não envie o email informando o login da minha maquina no server....
quando voce faz a atualização do arquivo ele pega o ip da minha maquina e adiciona nele, qual a necessidade de fazer isso? pois ele está pegando o ip da minha maquina e colocando entre os Ip's que não quero receber o email, esto confuso.
quanto ao meu script ele funcionou aqui, porem fica enviando email toda vez que o servidor d monitoração loga nele.. e é isso que eu não queria.
segue o script como ficou
to="wagner@a.com.br"
from="login_server@a.com.br"
subject="URGENTE - Login realizado no SERVER163"
IGNIP="/var/log/IP_IGNORE.txt"
w|awk '/([0-9]{1,3}\.){3}[0-9]{1,3}/{print $3,$1,$4}' > /var/log/CONECTADOS.txt #GERA ARQUIVO
if [ -s /var/log/CONECTADOS.txt ];then #SE O ARQUIVO FOR MAIOR QUE ZERO . . .
while IFS=" " read -r C01 C02 C03;do #PEGA "LINHA A LINHA" IP, LOGIN e HORA
if ! grep -q "^$C01$" $IGNIP;then #SE O "IP" NÃO FOR ENCONTRADO NO ARQUIVO $IGNIP, ENVIA EMAIL
mensagem="Usuario: $C02 realizou o login partir do IP: $C01 as: $C03"
#Notifica via e-mail
cat <<EOF | sendmail -t
From:$from
To:$to
Subject:$subject
$mensagem
EOF
echo "$C01" >> $IGNIP # ATUALIZA O ARQUIVO "IP_IGNORE.txt" . . .
fi
done</var/log/CONECTADOS.txt
fi
OBS: mudei o EOF de lugar pois se eu deixasse ele na mesma linha, ficaria vermelho como o resto do comando abaixo dele.[/quote]
----------------------------------------------------------------
Wagner, veja bem,
Temos o ip do server, que devemos excluir do "envio de email", e também os que já foram enviados . . .
ao inves da VAR "IP_SERVER", coloco os IPs em $IGNIP.
A INCLUSãO do IP no $IGNIP, somente deve ocorrer após o envio do email.
ENVIE a SAIDA do COMANDO w , e assinale qual é a sua maquina
No aguardo,
Marcelo
[/quote]
Marcelo,
segue o resultado, esse ip é o da minha maquina, a minha dúvida é: se eu fechar a sessão e futuramente abrir novamente da minha máquina, ele não vai enviar o email avisando certo? (desculpe minha ignorancia Marcelo)
[root@server163 ~]# w
17:17:40 up 1:50, 1 user, load average: 0.15, 0.16, 0.14
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 172.16.3.4 16:47 4.00s 0.04s 0.00s w