Script que cria log de inicialização e desligamento da máquina [RESOLVIDO]

1. Script que cria log de inicialização e desligamento da máquina [RESOLVIDO]

antonio jose da silva almeida
ajsalmeida

(usa Outra)

Enviado em 04/05/2012 - 10:09h

olá pessoal preciso fazer um script que sempre que o sistema for iniciado ou desligado escreva no arquivo /var/log/idlog.log , no seguinte formato:
Desligado (ou )ligado , data , IP da máquina
fiz dois scripts: um que escreve quando a máquina é ligada e outro que escreve quando ele é desligada
só que estou com um problema com os pipes que tem no script e ele só está imprimindo desligado ou ligado e a data : abaixo o script de inicialização:

********************************************************************************************

#/etc/ini.d/initlog
#!/bin/bash

echo "------------------------------------------" >> /var/log/idlog.log

echo "LIGADO" >> /var/log/questao01.log
date >> /var/log/questao01.log
echo "IP:" >> /var/log/questao01.log
ifconfig wlan0 | grep inet | awk -F" " '{print $3}' >> /var/log/idlog.log


echo "-------------------------------------------" >> /var/log/idlog.log

***********************************************************************************************

o problema só é com os pipes, pois se eu colocar o if config separado ele mostra todos os dados da interface, mas eu quero pegar somente IP


  


2. MELHOR RESPOSTA

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 04/05/2012 - 12:23h

Fiz a mesma coisa que você.

 ifconfig eth0 | grep "inet end.: " | awk '{print $3}'  

$ 192.0.1.234
Funcionou, retorna o número do ip apenas.

Usando a sua forma, retorna:


192.0.1.234
fe80::1278:d2ff:feb1:1a38/64


Veja e me diga.

Divertimento: Relembro um dos primeiros scripts que fiz.
http://www.vivaolinux.com.br/topico/Shell-Script/Shell-Script-bash-pega-IP-de-sua-maquina-na-NET-%5B...

Pesquisando no VOL encontrei a mesma forma de fazer: http://www.vivaolinux.com.br/dica/Extraindo-seu-endereco-IP-com-shell-script-%28egrep-+-awk%29 porém tem o mesmo problema porque devolve o fallback: 192.0.1.234 127.0.0.1 e que em tese não está errado também ;)


Se alguém precisar validar um ip: egrep '^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$'




3. Re: Script que cria log de inicialização e desligamento da máquina [RESOLVIDO]

Renato Freitas
nanatinho

(usa Debian)

Enviado em 04/05/2012 - 13:39h

Boa tarde!

Tente assim:

ifconfig eth0 | grep 'inet ' | awk -F" " '{print $2}' | cut -d: -f2


Abraço e fique com DEUS!


4. Somente com o cut também funciona

Felipe
felipetsi

(usa Debian)

Enviado em 04/05/2012 - 15:23h

Do jeito que o Renato colocou, utilizando o awk, acho mais elegante, mas da forma abaixo também funciona:

# ifconfig eth0 | grep 'inet ' | cut -d ':' -f2 | cut -d ' ' -f1


5. Re: Script que cria log de inicialização e desligamento da máquina [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 04/05/2012 - 16:11h

Tenta assim também:

ifconfig eth0 | sed -n '/inet end/{ s/.*end\.: \([0-9.]\+\).*/\1/p }' 


Se tiver problemas, então tente:

LC_ALL=C ifconfig eth0 | sed -n '/inet addr/{ s/.*addr:\([0-9.]\+\).*/\1/p }' 



6. Re: Script que cria log de inicialização e desligamento da máquina [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 05/05/2012 - 15:49h

Olá @ajsalmeida , nenhuma das alternativas resolveu o seu problema ?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts