Linux:Pegando o endereço IP via shell: Difference between revisions

From Wiki
(New page: == Pegando o ip de um interface via shell == '''Exemplo 1:''' ifconfig eth1 | grep "inet addr" | awk -F: '{ print $2 }' | awk '{ print $1 }' '''Exemplo 2:''' ifconfig eth1 | awk ...)
 
No edit summary
Line 8: Line 8:


   ifconfig eth1 | awk -F: '/inet addr/{ print $2 }' | awk '{ print $1 }'
   ifconfig eth1 | awk -F: '/inet addr/{ print $2 }' | awk '{ print $1 }'
== Exemplo de shell completo ==
Este verifica se o ip atual é o mesmo do ip corrente e executa a atualização de alguns serviços
#!/bin/bash
IP_ATUAL=`/sbin/ifconfig eth1 | grep "inet addr" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#IP_NOVO=`lynx -dump www.meuip.com.br | grep -v [a-zA-Z] | awk '{ printf $1 }'`
IP_NOVO=`lynx -dump -hiddenlinks=ignore -nolist http://checkip.dyndns.org:8245/ | awk '{ printf $4 }'`
if [ "$IP_ATUAL" != "$IP_NOVO" ]; then
  echo "true"
  /etc/init.d/network restart
  /etc/init.d/noip restart
  /etc/init.d/httpd restart
else
  echo "false"
fi

Revision as of 13:08, 5 February 2009

Pegando o ip de um interface via shell

Exemplo 1:

 ifconfig eth1 | grep "inet addr" | awk -F: '{ print $2 }' | awk '{ print $1 }'

Exemplo 2:

 ifconfig eth1 | awk -F: '/inet addr/{ print $2 }' | awk '{ print $1 }'


Exemplo de shell completo

Este verifica se o ip atual é o mesmo do ip corrente e executa a atualização de alguns serviços

#!/bin/bash
IP_ATUAL=`/sbin/ifconfig eth1 | grep "inet addr" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#IP_NOVO=`lynx -dump www.meuip.com.br | grep -v [a-zA-Z] | awk '{ printf $1 }'`
IP_NOVO=`lynx -dump -hiddenlinks=ignore -nolist http://checkip.dyndns.org:8245/ | awk '{ printf $4 }'`
if [ "$IP_ATUAL" != "$IP_NOVO" ]; then
  echo "true"
  /etc/init.d/network restart
  /etc/init.d/noip restart
  /etc/init.d/httpd restart
else
  echo "false"
fi