Pegar valor num arquivo, ler IP da linha e jogar na variavel [RESOLVIDO]

1. Pegar valor num arquivo, ler IP da linha e jogar na variavel [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 20/05/2010 - 16:53h

Gente se alguem puder me dar uma dica, vou resumir:
tenho um arquivo no seguinte formato:
access:$1$$YnqTfmEvTPAnRiED7u6hX0:192.168.10.240:0:1:12:P

o 12 é a data do pagamento, tenho um script que ja funciona fazendo a verificação destas datas e controla bloqueando o cliente se nao estiver pago, quero fazer ele pegar todas as linhas com esta data - 1, filtrar somente o IP e jogar numa variável, cada IP em uma variavel, pra fazer um sistema de Aviso automatico.

alguem tem alguma sugestão?


  


2. Re: Pegar valor num arquivo, ler IP da linha e jogar na variavel [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 20/05/2010 - 17:17h

To meio caminho!
Ja consegui fazer exibir somente os IPs que eu quero enviar a mensagem, agora nao to conseguindo dar sequincia, esta assim:
dia_atual=`date +%d | sed -e /^0/s/0//`
MP="/usr/local/easycaptive/config/MP"
AMANHA="Sua mensalidade de internet vence amanhã!"

grep $(($dia_atual+1)):A $PASSWD | cut -f 3 -d:

O que tenho que fazer é pegar estes IPs que foram exibidos, e imprimir no arquivo $MP, ficando IP:$AMANHA em cada linha
alguem sabe?


valew


3. Re: Pegar valor num arquivo, ler IP da linha e jogar na variavel [RESOLVIDO]

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 20/05/2010 - 18:45h

Deixa eu entender:

access:$1$$YnqTfmEvTPAnRiED7u6hX0:192.168.10.240:0:1:12:P

Aí você pegou o dia de hoje:

dia_atual=`date +%d | sed -e /^0/s/0//`

Depois procurou por dia_atual+1. Da saída você pega o IP e concatena a string $AMANHA e salva no arquivo $MP. É isso?

Olhe aí:

$ grep $(($dia_atual+1)):A $PASSWD | cut -f 3 -d: | sed "s/$/:$AMANHA/" >> $MP

Certo? :S
t+



4. Re: Pegar valor num arquivo, ler IP da linha e jogar na variavel [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 11/06/2010 - 17:52h

ai caramba, esqueci de dar o retorno aqui, o VOL tem horas q nao manda email =/
consegui resolver meu problema, consegui simplificar tudo no proprio index.cgi entao ele mesmo ja sabe quem deve ver a mensagem ou não:

#coleta a MP para o cliente
USER_MP=`grep $REMOTE_ADDR: /usr/local/easycaptive/config/MP | grep "$REMOTE_ADDR" | cut -f 2 -d:`
if [ ${#USER_MP} = 0 -a $USER_DATA = $DIA -a $USER_SITUACAO = A -a $AUTO_MP = 1 ]; then
USER_MP="Sua mensalidade de internet é hoje"
fi
if [ ${#USER_MP} = 0 -a $USER_DATA = $(($DIA+1)) -a $USER_SITUACAO = A -a $AUTO_MP = 1 ]; then
USER_MP="Sua mensalidade de internet é amanhã"
fi

Explicando:
if [ ${#USER_MP} = 0 (Não existe mensagem pra ele)
$USER_DATA = $DIA (a data dele é = a data de hoje)
$AUTO_MP = 1 (é se esta ativo ou nao a Mensagem Automatica)
$USER_SITUACAO = A (o cliente esta em Aberto, não esta Pago)
Ai exibe a mensagem de q vence hoje, a outra função exibe a mensagem que vence amanhã

=]








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts