Testar variavel e setar um valor [RESOLVIDO]

1. Testar variavel e setar um valor [RESOLVIDO]

Jorge Santos
jorgessn

(usa Ubuntu)

Enviado em 03/05/2013 - 11:18h

Bom dia, se alguém puder me ajudar eu agradeço.

Meu problema é esse:

tenho um script que checa meu ip no ifconfig.me e troca no arquivo do ftp "/etc/vsftpd.conf", se meu ip mudar ele atualiza no arquivo, porém, quando cai a conexao de internet ele apaga o ip do arquivo e depois ele não troca mais por não achar o valor de 0a9 no arquivo, então eu queria que se não achar ip de internet, setar um valor default na linha do arquivo vsftpd.conf para ficar assim:
pasv_address=7.7.7.0

porque se cai a internet a linha fica assim:
pasv_address=

e dai o script não atualiza mais o ip no arquivo vsftpd porque ele não acha os valore numericos na expressão "IP_ANTIGO=$( egrep -i 'pasv_address' $ARQUIVO_ALVO | egrep -o '[0-9].*[0-9]'", segue o script com a parte que ta dando erro destacado com "->":

"
#!/bin/bash
# arquivo de configuração a ser alterado
ARQUIVO_ALVO='/etc/vsftpd.conf'
# estou buscando o ip antigo baseado na linha que inicia com 'pasv_address'
IP_ANTIGO=$( egrep -i 'pasv_address' $ARQUIVO_ALVO | egrep -o '[0-9].*[0-9]' )
# o novo ip (seu ip externo/ usado pelo no-ip):
IP_NOVO=$(wget -q -O /tmp/ip ifconfig.me/ip; cat /tmp/ip)

-> if [ $IP_NOVO='[]' ];
-> then
-> set $IP_NOVO='7.7.7.0'
-> fi

# a troca do ip antigo pelo novo
sed -i "s/$IP_ANTIGO/$IP_NOVO/g" $ARQUIVO_ALVO

/etc/init.d/vsftpd restart
/etc/init.d/smbd restart
"
Agradeço a atenção,
Jorgessn.


  


2. Re: Testar variavel e setar um valor [RESOLVIDO]

Renato Freitas
nanatinho

(usa Debian)

Enviado em 03/05/2013 - 13:38h

Boa tarde.

Veja se da forma abaixo lhe atende.

Substituia isto:
-> if [ $IP_NOVO='[]' ];
-> then
-> set $IP_NOVO='7.7.7.0'
-> fi

por isto:

wget -q -O /tmp/ip ifconfig.me/ip
if [ $? != "0" ]
then
export IP_NOVO="0.0.0.0"
else
IP_NOVO=$(cat /tmp/ip)
fi

OBS: no export IP_NOVO="0.0.0.0" informe o IP que você quer que seja setado como default.


Abraço e fq com DEUS!!!


3. RESOLVIDO

Jorge Santos
jorgessn

(usa Ubuntu)

Enviado em 03/05/2013 - 20:00h

nanatinho,

Deu certo, muito obrigado rapaz, ajudou muito, fica com Deus você também, amém meu amigo!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts