+ Responder ao Tópico



  1. #1
    bau
    Visitante

    Padrão Scritp para pegar um único conteúdo do arquivo...

    Ae galera blz;
    Preciso de uma ajuda de vc´s.
    Estou elaborando um scritp que eu possa pegar o número IP do campo que fica em /var/log/secure.* , e colocar em uma variável. O intuito do script é o seguinte: Quero que toda vez que houver um acesso via ssh ou tentativa de acesso seja enviado um e-mail para mim.
    A grande questão é pegar o número IP de onde foi o acesso em fica em /var/log/secure.*
    Eu sei que se eu usar o comando tail -f /var/log/secure.* | awk '{print $8}' ele me retorna exatamento o que eu quero. mas se jogar isso em uma variável ele listará todos os números IP e eu apenas quero o último.
    Se alguém puder dar uma dica agradeço.
    [ ] ´s

  2. #2
    jotacekm
    Visitante

    Padrão Re: Scritp para pegar um único conteúdo do arquivo...

    Citação Postado originalmente por bau
    Ae galera blz;
    Preciso de uma ajuda de vc´s.
    Estou elaborando um scritp que eu possa pegar o número IP do campo que fica em /var/log/secure.* , e colocar em uma variável. O intuito do script é o seguinte: Quero que toda vez que houver um acesso via ssh ou tentativa de acesso seja enviado um e-mail para mim.
    A grande questão é pegar o número IP de onde foi o acesso em fica em /var/log/secure.*
    Eu sei que se eu usar o comando tail -f /var/log/secure.* | awk '{print $8}' ele me retorna exatamento o que eu quero. mas se jogar isso em uma variável ele listará todos os números IP e eu apenas quero o último.
    Se alguém puder dar uma dica agradeço.
    [ ] ´s
    supondo que esse seu comando funciona, vc pode criar um arquivo que tenha só a parte referente aos ips do /var/log/secure. (pq podem ter linhas que nao tem nenhum ip, que nao são referentes ao ssh)Ai vc pode fazer assim:
    grep sshd /var/log/secure >> /var/log/ips
    depois vc pega so a ultima linha do arquivo que criou:
    tail -n 1 /var/log/secure.* | awk '{print $8}'

    tenta ai e ve se da certo.