Ajuda em um Script [RESOLVIDO]

1. Ajuda em um Script [RESOLVIDO]

Guepardo F. Weles
guelweles

(usa Ubuntu)

Enviado em 06/11/2009 - 10:02h

Bom dia galera essa, sempre frequentei o VOL para tirar dúvidas e hoje resolvi me cadastrar e pedia ajuda de quem é fera no assunto

É o seguinte tenho uma maquina com Ubuntu 9.10 kernel 2.6.31 que eu mesmco compilei com o Layer7, to usando essa maquina como um Access Point possuo uma placa Pacific com chipset Atheros trabalhando em modo master, o access point ta fucionando uma beleza tem controle de acesso por mac e etc

Porem queria que quando alguém se conectasse ou desconectasse da rede sem fio aparecesse uma mensagem de log, pois não está aparecendo, a única mensagem que aparece quando alguém se conecta é os logs do DHCP, instalei o syslog-ng e consegui seprar os logs de iptables dhcp ddclient para arquivos especificos

Atualmente tenho um roteador edimax com aprouter, pois nele quando alguém se conecta ou desconecta ou é rejeitado aparece uma mensagem assim

Nov 6 06:59:22 wlan0: A wireless client is associated - 00:1A:EE:01:41:E4

No linux quando dou o comando wlanconfig ath0 list ele lista para mim todos os macs que estão conectados naquele momento, queria fazer um script que ao dar esse comenado e ele encontrar tal mac conectado ele enviasse uma mensagem de log com o comando o logger

mais ou menos assim

wlanconfig ath0 list

00:12:34:ff:ed:ba

minha idéia seria o seguinte para o script

se ao dar o comando wlanconfig ath0 list existir o texto 00:12:34:ff:ed:ba então envie uma mensagem de log por exemplo logger "Ana está conectado" caso contrário saia

parece que no comando if tem a opção -f que é para procurar texto

mas não sei como faço essa programação

alguém sabe como fazer isso ou tem alguma outra sugestão?

obrigado a todos.


  


2. MELHOR RESPOSTA

Denis Doria
thuck

(usa Debian)

Enviado em 07/11/2009 - 15:21h

#!/bin/bash
#Verifica se existe o mac
wlanconfig ath0|fgrep '00:12:34:ff:ed:ba' &> /dev/null

#Se existir
if [ "$?" -eq 0 ]; then

"faz alguma coisa"

#Senão existir
else

"faz outra coisa"

fi


----------------------------------------------------------------------------------
#!/bin/bash
#Verifica se existe xxxx
fgrep 'xxxx' /etc/teste.txt &> /dev/null

#Se existir
if [ "$?" -eq 0 ]; then

"faz alguma coisa"

#Senão existir
else

"faz outra coisa"

fi



3. Re: Ajuda em um Script [RESOLVIDO]

Guepardo F. Weles
guelweles

(usa Ubuntu)

Enviado em 07/11/2009 - 13:16h

Eae galera inguém consegue me ajudar nisso?

Só queria que dissessem como faço essa lógica

se existir a palavra xxxxxx no arquivo /etc/teste.txt então faça isso, caso contrário faça isso

Desde já agradeço

Obrigado.


4. Re: Ajuda em um Script [RESOLVIDO]

Guepardo F. Weles
guelweles

(usa Ubuntu)

Enviado em 08/11/2009 - 11:05h

Thuck agradeço a sua ajuda, vi que não era tão dificil essa lógia o problema sou eu mesmo rsrs, sou iniciante em shel script mas tenho uma lógica ja tive aulas de lógica linguagem C

vc poderia me explicar detalhado o seguintes itens

#!/bin/bash
#Verifica se existe xxxx
fgrep 'xxxx' /etc/teste.txt &> /dev/null

#Se existir
if [ "$?" -eq 0 ]; then

"faz alguma coisa"

#Senão existir
else

"faz outra coisa"

fi

Vamos la

fgrep 'xxxx' /etc/teste.txt &> /dev/null

fgrep tem diferença se eu usar grep? não conhecia o fgrep rsrs

&> /dev/null o que isso faz?

if [ "$?" -eq 0 ]; then

o que seria esse $? e por que igual a 0?

bom se puder responder eu agradeço, mas vc ja conseguiu resolver meu problema, este é o meu primeiro post aqui no VOL não imaginava que iria ser bem rápido assim

isso sim é uma comunidade amigável, acho q quando eu for tirar minha certificação lpi vou contar com a ajuda d vc's ^^

abraços


5. Re: Ajuda em um Script [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 08/11/2009 - 12:25h

o /dev/null é o famoso buraco negro do linux, semelhante a lixeira do windows.. :)


6. Re: Ajuda em um Script [RESOLVIDO]

Denis Doria
thuck

(usa Debian)

Enviado em 08/11/2009 - 19:53h

Vamos as explicações.

sim fgrep e grep são diferentes, porém fgrep e grep -F são basicamente a mesma coisa. fgrep é mais rápido que um grep comum, pois não usa uma expressão regular na busca, mas sim uma string fixa. Usar fgrep é um hábito meu, quando não há expressão regular, mas para um arquivo com poucas linhas o grep e o fgrep não terão lá muita diferença.

&> redireciona a saída de erro e a saída padrão para algum lugar, pode ser um arquivo por exemplo, nesse caso escolhi o /dev/null que como foi citado é simplesmente o buraco negro do linux.

Se vc estudou C chegou a usar o exit(0) quando o seu software terminou; o $? é simplesmente uma varíavel que armazena a saída de status do último comando, 0 significa sucesso; qualquer outro número significa algum tipo de erro.






7. Re: Ajuda em um Script [RESOLVIDO]

Guepardo F. Weles
guelweles

(usa Ubuntu)

Enviado em 09/11/2009 - 12:23h

obrigado thuck, vc resolveu meu problema e tirou minhas dúvidas

agradeço tb ao filippec por me explicar o /dev/null

obrigado a todos ^^






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts