Re: [shell-script] Shell email

2005-12-06 Por tôpico Rodrigo Monteiro
Caro Hebert,

On 12/5/05, Herbert Alexander Faleiros <[EMAIL PROTECTED]> wrote:
> On Monday 05 December 2005 11:43, Emerson Domingues Souto wrote:
> > o colega Herbert parece não prestar muita atenção a essas práticas
>
> Se querem gerar código redundante/desnecessário é com vocês.
>
> Por que eu aplicaria algo desnecessáriamente se sei o que estou fazendo?

Você pode saber o que está fazendo. Mas os seus colegas aqui da lista
que estão iniciando e precisam de ajuda, não sabem ainda.
Portanto seria "legal" se você os ajudasse mostrando boas práticas de
programação em geral, não só de shell script.

>
> E igual aquela história de executar rm -rf para qualquer coisa ou dizer que
> sei que algo é um diretório porque apareceu "azul" aqui no meu terminal.
>
> Putz, isso já tá virando flame (fico por aqui)...

Sem flames...

[]s

--
Rodrigo Monteiro
"Free as in Freedom, not free as in free beer"
Linux User # 403730
JID: [EMAIL PROTECTED]
[EMAIL PROTECTED]


-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





[shell-script] Auto Login com ssh ( sem troca de chaves )

2005-12-06 Por tôpico Fabricio Lopes de Souza
Para quem queria , eu fiz um negocinho bem simples usando expect ,
ainda estou deixando ele mais bunitinho e completo pra no final ser
uma aplicacao que pra mim vai gerenciar a imensidao de ips de clientes
que tenho que decorar :

[code auto_ssh.sh]
#!/bin/bash

lista="/usr/auto_ssh/autossh.list"
expect="/usr/auto_ssh/auto_ssh.exp"
listar()
{
   awk 'BEGIN {FS=";" ; printf
"\n\n+--+\n"
}{printf "| %-2s | %-15s | %-13s | %-13s |\n",$1,$2,$3,$5 } END { 
printf "+--+\n\n"}'
$lista

   echo "Pressione qualquer tecla para continuar ..."
   read -n1
}

add()
{
   clear
   echo "Digite o ip da maquina (max 16 digitos): "
   read -n 16 ip
   echo ""
   echo "Digite o Usuario da maquina (max 13 digitos): "
   read -n 13 user
   echo ""
   echo "Digite a Senha da maquina : "
   read -s pass
   echo ""
   echo "Digite a Descricao da maquina (max 13 digitos): "
   read -n 13 desc
   echo ""
   id=$(expr $(tail -n1 $lista | cut -d";" -f1) + 1)
   echo "$id;$ip;$user;$pass;$desc" >> $lista
   echo ""
   echo "$desc recebeu id : $id"
   echo ""
   echo "Usuario adicionado com sucesso !! "
}

delete()
{
   clear
   listar
   echo "Digite o numero do registro que voce quer deletar"
   read del
   egrep -v ^$del "$lista" > "${lista}.tmp"
   mv "${lista}.tmp" "${lista}"
   echo ""
   echo "Registro de numero $del deletado com sucesso!"
}
connect()
{
   listar
   echo ""
   echo "Digite o id da maquina a se conectar"
   read id
   ip=$(grep $id $lista | cut -d";" -f2)
   user=$(grep $id $lista | cut -d";" -f3)
   pass=$(grep $id $lista | cut -d";" -f4)
# Aqui eh o mais importante , a chamada do expect que faz o login
automatico , o resto eh soh enfeite .
   exec expect -c "set ip $ip ; set user $user ; set pass $pass" $expect
}
opcoes()
{
   clear
   echo "--- OPCOES ---"
   echo ""
   echo ""
   echo "1) Listar "
   echo "2) Conectar "
   echo "3) Adicionar "
   echo "4) Apagar "
   echo "5) Sair"
   echo ""
   echo "Digite a opcao desejada : "
   read opc

   case $opc in
 1) listar ; opcoes ;;
 2) connect ; opcoes ;;
 3) add ; opcoes;;
 4) delete ; opcoes;;
 5) exit 0 ;;
 *) echo "Opcao Invalida" ; sleep 2 ; opcoes ;;
   esac
}
opcoes

[/code auto_ssh.sh]

[code autossh.exp]
#!/usr/bin/expect

spawn ssh $ip -l $user
expect "*password:"
send "$pass\r"
expect -re "Last login:*"
send_user "\n\n"
send_user 
"==\n==\n||
Bem-Vindo ao auto-ssh ||\n"
send_user "==\n"
send_user "==\n"
send_user "\n\n"
# Esse interact e para  o expect deixar vc usar  o prompt e tambem ser
possivel fazer alguns alias , binds e etc ... puramente ilustrativo os
a seguir
interact {
 "exit" {
  send_user "\nTecle \"s\" para sair e \"n\" para continuar\n"
  expect_user {
   "s" { send "exit\r"}
   "n" { send "\n" }
  }
}
 "help"  {
  send_user "\n\n= OPCOES =\n"
  send_user "exit -> Fecha a coneccao\n"
  send_user "help -> Mostra esse menu\n"
  send "\r\r\r"
 }
}
[/code autossh.exp]

[code modelo auto_ssh.list]
id;Ip;Usuario;Senha;Descricao\
--;---;-;;-;
1;10.10.10.104;maria;joao;pedro
2;20.20.20.20;come;odeia;gosta
3;30.30.30.30;banana;maria;depepino
[/code modelo auto_ssh.list]


//---

Aproveitando vai uma duvida

 Queria implementar um jeito de que ninguem conseguisse editar o
arquivo auto_ssh.list , apenas  o script , pois la vai ter todas
senhas sem estar criptografadas ( seguranca = 0 huhu) , como? ;/

Bom sei que nao deve estar ta bom o script , mas espero
que ajude alguem , se alguem tiver sugestoes , mande :)

Abracos


-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo

[shell-script] Achar diretório do Script

2005-12-06 Por tôpico Alain
Como eu acho em que diretório está o script atual? Eu sei que $0 tem o 
nome completo, o comando abaixo faz o inverso, ou seja me dá só o nome 
mas eu quero só o diretório. Exemplo

$0 é /opt/bin/firefox.sh
eu quero /opt/bin

Assim eu posso chamer o outro script firefoxrun.sh que está no mesmo 
diretório, mesmo se mudarem ele de lugar.

grato,
Alain

Tiago Barcellos Peczenyj escreveu:
> O que é mais formal:
> 
> [ "${1}" ] || { echo "usage: $(basename $0) parametro" ; exit 1; }
> 
> ou
> 
> if [ "${1}" ]
> then echo "usage..."
> exit 1
> fi
> 
> geralmente eu gosto da primeira notação, é mais sucinta. mas ela possui
> algum tipo de problema, digamos, alguma incompatibilidade com outros shells,
> ou tem alguma sutileza que a forma if then fi não possui ?
> 
> As duas funcionam, entretanto.
> Em 06/12/05, Fernando Lemes da Silva <[EMAIL PROTECTED]> escreveu:
> 
>>
>>   Não querendo contribuir com o flame, mas sim com o propósito de se
>>escrever
>>um bom código, eu considero sim uma boa prática proteger conteúdo de
>>variáveis, definir bem o que é uma variável (${VAR})..
>>
>>   Além ter tornar as coisas mais fáceis de ler, depois que voce precisar
>>olhar de novo o mesmo código, isto poderia previnir que numa alteração
>>futura
>>do script o mesmo parasse de funcionar porque não foi cogitado que alguma
>>variável poderia ter espaços um dia (exemplo)...
>>
>>   []'s
>>
>>--
>>   /**
>>_ Fernando Lemes da Silva
>>   °v°www.koho.com.br
>>  /(¡)\   Linux user [EMAIL PROTECTED]
>>   ^ ^lICQ UIN 2371843
>>   echo 396752965710071000896145190854552842P | dc
>>   **/
>>
>>Em Seg 05 Dez 2005 20:44, Herbert Alexander Faleiros escreveu:
>>
>>>On Monday 05 December 2005 11:43, Emerson Domingues Souto wrote:
>>>
o colega Herbert parece não prestar muita atenção a essas práticas
>>>
>>>Se querem gerar código redundante/desnecessário é com vocês.
>>>Por que eu aplicaria algo desnecessáriamente se sei o que estou fazendo?
>>>E igual aquela história de executar rm -rf para qualquer coisa ou dizer
>>
>>que
>>
>>>sei que algo é um diretório porque apareceu "azul" aqui no meu terminal.
>>>Putz, isso já tá virando flame (fico por aqui)...
>>
>>
>> -
>>Esta lista não admite a abordagem de outras liguagens de programação, como
>>perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
>>aviso.
>>-
>>Sair da lista: [EMAIL PROTECTED]
>>-
>>Esta lista é moderada de acordo com o previsto em
>>http://www.listas-discussao.cjb.net
>>-
>>
>>
>>
>> *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>>
>>
>>--
>>*Links do Yahoo! Grupos*
>>
>>   - Para visitar o site do seu grupo na web, acesse:
>>   http://br.groups.yahoo.com/group/shell-script/
>>
>>   - Para sair deste grupo, envie um e-mail para:
>>   [EMAIL PROTECTED]<[EMAIL PROTECTED]>
>>
>>   - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>>   Serviço do Yahoo! .
>>
>>
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> -
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> -
> Sair da lista: [EMAIL PROTECTED]
> -
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> -
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 
> 


-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para

Re: [shell-script] Achar diretór io do Script

2005-12-06 Por tôpico Emerson Domingues Souto
Alain,

Uma opção seria utilizar o DIRNAME, embora a variável $0 nem sempre siginifica 
o caminho do script.

Prompt> dirname /opt/bin/firefox.sh
/opt/bin

Emerson

  - Original Message - 
  From: Alain 
  To: shell-script@yahoogrupos.com.br 
  Sent: Tuesday, December 06, 2005 11:31 AM
  Subject: [shell-script] Achar diretório do Script


  Como eu acho em que diretório está o script atual? Eu sei que $0 tem o 
  nome completo, o comando abaixo faz o inverso, ou seja me dá só o nome 
  mas eu quero só o diretório. Exemplo

  $0 é /opt/bin/firefox.sh
  eu quero /opt/bin

  Assim eu posso chamer o outro script firefoxrun.sh que está no mesmo 
  diretório, mesmo se mudarem ele de lugar.

  grato,
  Alain


[As partes desta mensagem que não continham texto foram removidas]



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[shell-script] PHP + Shell

2005-12-06 Por tôpico Fabio Pires
Ola galera 

Estou precisando de uma ajudinha em uma função do php !!!

Preciso que a função abaixo tenha a nomenclatura descripta porém a saida 
do comando é redirecionada através do sinal de ">" para o diretório 
"/dev/null"! e após isso é devolvido o console para mim através das 
opções "2>&1".

Porém não sei como fazer para o php entender estes caracteres especiais 
!!! O objeto $this->name nada mais é do que o nome de um pacote  O 
que a função faz é verificar se o pacotes está ou não isntalado 

Como faço para que o php interprete este comando de shell scrips ???

Agradeço desde já!


function isUpdating() {
$cmd = "dpkg -l | grep " . $this->name > /dev/null 2>&1;

Agradeço desde já !






___ 
Yahoo! doce lar. Faça do Yahoo! sua homepage. 
http://br.yahoo.com/homepageset.html 



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[shell-script] Shell

2005-12-06 Por tôpico tschievenin
Bom como disse sou iniciante nessa area de programação shell, fiz um 
script que é mais um exercício do que um script usual, gostaria de 
saber o pq do meu script não entrar no if pois ele só manda o email 
como se o serviço estivesse parado.

Agradeço desde já!!
OS=`uname -s`
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]


# Verificando se o sistem eh Linux
#inicia as variáveis
if [ $OS = "Linux" ];then
   HOSTN=/bin/hostname
   SENDMAIL=/usr/sbin/sendmail
else
  echo " Sistema não reconhecido"
  exit -1
  fi
# Verifica se todos o squid está rodando

PROXY=`service squid status`


if [ "$PROXY"= "O squid (pid 825 823) está a 
rodando... " ];then
echo -e Subject:" Servico iniciado com sucesso 
\nReply-To: \
$REPL\nTudo esta rodando perfeitamente."|$SENDMAIL -
f$SENDER $MAILBOX


else
echo -e "Subject: O servico esta parado \nReply-To: \
$REPL\nAdministrador verificar o 
servico."|$SENDMAIL -f$SENDER $MAILBOX

   fi





-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Achar diretório do Script

2005-12-06 Por tôpico Tiago Barcellos Peczenyj
isso ja foi abordado aqui. que eu lembre vc tem duas opções.

1) se vc der o caminho completo, a solução é fazer $(dirname $0)
2) se vc executa o script e ele está em algum diretorio, vc tem que usar o
which para encontra-lo

uma forma pratica,

#!/bin/bash
DIR=$(which $0 2>&- || dirname $0)
echo "O Script $(basename $0) esta em '${DIR}'"

Espero que ajude.

[]s Tiago
2005/12/6, Alain <[EMAIL PROTECTED]>:
>
>  Como eu acho em que diretório está o script atual? Eu sei que $0 tem o
> nome completo, o comando abaixo faz o inverso, ou seja me dá só o nome
> mas eu quero só o diretório. Exemplo
>
> $0 é /opt/bin/firefox.sh
> eu quero /opt/bin
>
> Assim eu posso chamer o outro script firefoxrun.sh que está no mesmo
> diretório, mesmo se mudarem ele de lugar.
>
> grato,
> Alain
>
> Tiago Barcellos Peczenyj escreveu:
> > O que é mais formal:
> >
> > [ "${1}" ] || { echo "usage: $(basename $0) parametro" ; exit 1; }
> >
> > ou
> >
> > if [ "${1}" ]
> > then echo "usage..."
> > exit 1
> > fi
> >
> > geralmente eu gosto da primeira notação, é mais sucinta. mas ela possui
> > algum tipo de problema, digamos, alguma incompatibilidade com outros
> shells,
> > ou tem alguma sutileza que a forma if then fi não possui ?
> >
> > As duas funcionam, entretanto.
> > Em 06/12/05, Fernando Lemes da Silva <[EMAIL PROTECTED]> escreveu:
> >
> >>
> >>   Não querendo contribuir com o flame, mas sim com o propósito de se
> >>escrever
> >>um bom código, eu considero sim uma boa prática proteger conteúdo de
> >>variáveis, definir bem o que é uma variável (${VAR})..
> >>
> >>   Além ter tornar as coisas mais fáceis de ler, depois que voce
> precisar
> >>olhar de novo o mesmo código, isto poderia previnir que numa alteração
> >>futura
> >>do script o mesmo parasse de funcionar porque não foi cogitado que
> alguma
> >>variável poderia ter espaços um dia (exemplo)...
> >>
> >>   []'s
> >>
> >>--
> >>   /**
> >>_ Fernando Lemes da Silva
> >>   °v°www.koho.com.br
> >>  /(¡)\   Linux user [EMAIL PROTECTED]
> >>   ^ ^lICQ UIN 2371843
> >>   echo 396752965710071000896145190854552842P | dc
> >>   **/
> >>
> >>Em Seg 05 Dez 2005 20:44, Herbert Alexander Faleiros escreveu:
> >>
> >>>On Monday 05 December 2005 11:43, Emerson Domingues Souto wrote:
> >>>
> o colega Herbert parece não prestar muita atenção a essas práticas
> >>>
> >>>Se querem gerar código redundante/desnecessário é com vocês.
> >>>Por que eu aplicaria algo desnecessáriamente se sei o que estou
> fazendo?
> >>>E igual aquela história de executar rm -rf para qualquer coisa ou dizer
> >>
> >>que
> >>
> >>>sei que algo é um diretório porque apareceu "azul" aqui no meu
> terminal.
> >>>Putz, isso já tá virando flame (fico por aqui)...
> >>
> >>
> >> -
> >>Esta lista não admite a abordagem de outras liguagens de programação,
> como
> >>perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio
> >>aviso.
> >>-
> >>Sair da lista: [EMAIL PROTECTED]
> >>-
> >>Esta lista é moderada de acordo com o previsto em
> >>http://www.listas-discussao.cjb.net
> >>-
> >>
> >>
> >>
> >> *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> >>
> >><
> http://br.rd.yahoo.com/SIG=12f8o68ob/M=384888.7585449.8468440.1588051/D=brclubs/S=2137111254:HM/Y=BR/EXP=1133844006/A=3154525/R=0/SIG=12igfl26t/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE
> >
> >>--
> >>*Links do Yahoo! Grupos*
> >>
> >>   - Para visitar o site do seu grupo na web, acesse:
> >>   http://br.groups.yahoo.com/group/shell-script/
> >>
> >>   - Para sair deste grupo, envie um e-mail para:
> >>   [EMAIL PROTECTED]<
> [EMAIL PROTECTED]>
> >>
> >>   - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> >>   Serviço do Yahoo! .
> >>
> >>
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > -
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > -
> > Sair da lista: [EMAIL PROTECTED]
> > -
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > -
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>  

Re: [shell-script] Duvida

2005-12-06 Por tôpico Fernando Pereira
Seguinte Fabiano,

Gostaria de ser avisado por e-mail somente quando o espaco em disco fosse
superior a 90% de utilizacao e o load somente acima de 1.0.

? Poderiam me ajudar?

Atenciosamente,

Fernando Pereira

On 12/5/05, Fabiano Caixeta Duarte <[EMAIL PROTECTED]> wrote:
>
>  Salve!
>
> Qual dos filesystems deve ser checado?
>
> Qual das médias (1,5 ou 15) deve ser checada?
>
> Ajude-nos a te ajudar. Seja específico.
>
> Fabiano Caixeta Duarte
> Consultor em soluções para Redes de Computadores
> Ribeirão Preto - SP
>
>
> Fernando Pereira escreveu:
> > Pessoal, estou com uma duvida
> >
> > Sou iniciante no shell e gostaria de ajuda de todos:
> >
> > Preciso criar um script que verifique o espaco em disco e me envie um
> e-mail
> > sempre que o espaco restante(livre) seja menor que 10% do sistema e o
> load
> > seja maior que 1.0
> >
> > ouvi dizer que o awk serve para isso, mas como sou iniciante, nao faco
> ideia
> > de como comecar...criei um script que me envia todos os dias as
> informacoes
> > por completo, mas queria filtrar as infos..
> >
> > Obrigado.
> >
> > #!/bin/bash
> >
> > SEP= echo
> >
> "-"
> >
> >>espaco.txt;
> >
> > HOSTNAME=  echo "Maquina 23" >> espaco.txt
> > SEP= echo
> >
> "-"
> >
> >>>espaco.txt;
> >
> > Load= 'w' >> espaco.txt;
> > SEP2= echo
> >
> ""
> >
> >>>espaco.txt;
> >
> > ESPACO= df -lha >> espaco.txt;
> > SEP= echo
> >
> "-"
> >
> >>>espaco.txt;
> >
> >
> > mail [EMAIL PROTECTED] -s Relat_espaco_disco < espaco.txt;
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > -
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > -
> > Sair da lista: [EMAIL PROTECTED]
> > -
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > -
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>  -
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> -
> Sair da lista: [EMAIL PROTECTED]
> -
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> -
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>
> 
> --
> *Links do Yahoo! Grupos*
>
>- Para visitar o site do seu grupo na web, acesse:
>http://br.groups.yahoo.com/group/shell-script/
>
>- Para sair deste grupo, envie um e-mail para:
>[EMAIL PROTECTED]<[EMAIL PROTECTED]>
>
>- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>Serviço do Yahoo! .
>
>


[As partes desta mensagem que não continham texto foram removidas]



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Auto Login com ssh ( sem troca de chaves )

2005-12-06 Por tôpico Fernando Pereira
Nao funcionou na minha maquina nao. Estou utilizando o Debian Woody.

[]'

fernando pereira

On 12/6/05, Fabricio Lopes de Souza <[EMAIL PROTECTED]> wrote:
>
>  Para quem queria , eu fiz um negocinho bem simples usando expect ,
> ainda estou deixando ele mais bunitinho e completo pra no final ser
> uma aplicacao que pra mim vai gerenciar a imensidao de ips de clientes
> que tenho que decorar :
>
> [code auto_ssh.sh]
> #!/bin/bash
>
> lista="/usr/auto_ssh/autossh.list"
> expect="/usr/auto_ssh/auto_ssh.exp"
> listar()
> {
>awk 'BEGIN {FS=";" ; printf
> "\n\n+--+\n"
> }{printf "| %-2s | %-15s | %-13s | %-13s |\n",$1,$2,$3,$5 } END {
> printf "+--+\n\n"}'
> $lista
>
>echo "Pressione qualquer tecla para continuar ..."
>read -n1
> }
>
> add()
> {
>clear
>echo "Digite o ip da maquina (max 16 digitos): "
>read -n 16 ip
>echo ""
>echo "Digite o Usuario da maquina (max 13 digitos): "
>read -n 13 user
>echo ""
>echo "Digite a Senha da maquina : "
>read -s pass
>echo ""
>echo "Digite a Descricao da maquina (max 13 digitos): "
>read -n 13 desc
>echo ""
>id=$(expr $(tail -n1 $lista | cut -d";" -f1) + 1)
>echo "$id;$ip;$user;$pass;$desc" >> $lista
>echo ""
>echo "$desc recebeu id : $id"
>echo ""
>echo "Usuario adicionado com sucesso !! "
> }
>
> delete()
> {
>clear
>listar
>echo "Digite o numero do registro que voce quer deletar"
>read del
>egrep -v ^$del "$lista" > "${lista}.tmp"
>mv "${lista}.tmp" "${lista}"
>echo ""
>echo "Registro de numero $del deletado com sucesso!"
> }
> connect()
> {
>listar
>echo ""
>echo "Digite o id da maquina a se conectar"
>read id
>ip=$(grep $id $lista | cut -d";" -f2)
>user=$(grep $id $lista | cut -d";" -f3)
>pass=$(grep $id $lista | cut -d";" -f4)
> # Aqui eh o mais importante , a chamada do expect que faz o login
> automatico , o resto eh soh enfeite .
>exec expect -c "set ip $ip ; set user $user ; set pass $pass" $expect
> }
> opcoes()
> {
>clear
>echo "--- OPCOES ---"
>echo ""
>echo ""
>echo "1) Listar "
>echo "2) Conectar "
>echo "3) Adicionar "
>echo "4) Apagar "
>echo "5) Sair"
>echo ""
>echo "Digite a opcao desejada : "
>read opc
>
>case $opc in
>  1) listar ; opcoes ;;
>  2) connect ; opcoes ;;
>  3) add ; opcoes;;
>  4) delete ; opcoes;;
>  5) exit 0 ;;
>  *) echo "Opcao Invalida" ; sleep 2 ; opcoes ;;
>esac
> }
> opcoes
>
> [/code auto_ssh.sh]
>
> [code autossh.exp]
> #!/usr/bin/expect
>
> spawn ssh $ip -l $user
> expect "*password:"
> send "$pass\r"
> expect -re "Last login:*"
> send_user "\n\n"
> send_user
> "==\n==\n||
> Bem-Vindo ao auto-ssh ||\n"
> send_user "==\n"
> send_user "==\n"
> send_user "\n\n"
> # Esse interact e para  o expect deixar vc usar  o prompt e tambem ser
> possivel fazer alguns alias , binds e etc ... puramente ilustrativo os
> a seguir
> interact {
>  "exit" {
>   send_user "\nTecle \"s\" para sair e \"n\" para
> continuar\n"
>   expect_user {
>"s" { send "exit\r"}
>"n" { send "\n" }
>   }
> }
>  "help"  {
>   send_user "\n\n= OPCOES =\n"
>   send_user "exit -> Fecha a coneccao\n"
>   send_user "help -> Mostra esse menu\n"
>   send "\r\r\r"
>  }
> }
> [/code autossh.exp]
>
> [code modelo auto_ssh.list]
> id;Ip;Usuario;Senha;Descricao\
> --;---;-;;-;
> 1;10.10.10.104;maria;joao;pedro
> 2;20.20.20.20;come;odeia;gosta
> 3;30.30.30.30;banana;maria;depepino
> [/code modelo auto_ssh.list]
>
>
> //---
>
> Aproveitando vai uma duvida
>
> Queria implementar um jeito de que ninguem conseguisse editar o
> arquivo auto_ssh.list , apenas  o script , pois la vai ter todas
> senhas sem estar criptografadas ( seguranca = 0 huhu) , como? ;/
>
> Bom sei que nao deve estar ta bom o script , mas espero
> que ajude alguem , se alguem tiver sugestoes , mande :)
>
> Abracos
>
>
>  -
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> -
> Sair da lista: [EMAIL PROTECTED]
> 

Re: [shell-script] PHP + Shell

2005-12-06 Por tôpico Tiago Barcellos Peczenyj
Humm

Tu queres executar um comando, então esse  $this->name é o tal do nome do
pacote que tu quer usar de argumento em um programa.

Acho que o seu $cmd tem que ser assim:
 $cmd = "dpkg -l | grep " . $this->name . " > /dev/null 2>&1";

a parte shell seria assim, se o teu php ta certo, ai tens que procurar uma
lista apropriada...


Em 06/12/05, Fabio Pires <[EMAIL PROTECTED]> escreveu:
>
>  Ola galera 
>
> Estou precisando de uma ajudinha em uma função do php !!!
>
> Preciso que a função abaixo tenha a nomenclatura descripta porém a saida
> do comando é redirecionada através do sinal de ">" para o diretório
> "/dev/null"! e após isso é devolvido o console para mim através das
> opções "2>&1".
>
> Porém não sei como fazer para o php entender estes caracteres especiais
> !!! O objeto $this->name nada mais é do que o nome de um pacote  O
> que a função faz é verificar se o pacotes está ou não isntalado 
>
> Como faço para que o php interprete este comando de shell scrips ???
>
> Agradeço desde já!
>
>
> function isUpdating() {
> $cmd = "dpkg -l | grep " . $this->name > /dev/null 2>&1;
>
> Agradeço desde já !
>
>
>
>
>
>
> ___
> Yahoo! doce lar. Faça do Yahoo! sua homepage.
> http://br.yahoo.com/homepageset.html
>
>
>
>  -
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> -
> Sair da lista: [EMAIL PROTECTED]
> -
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> -
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>
> 
> --
> *Links do Yahoo! Grupos*
>
>- Para visitar o site do seu grupo na web, acesse:
>http://br.groups.yahoo.com/group/shell-script/
>
>- Para sair deste grupo, envie um e-mail para:
>[EMAIL PROTECTED]<[EMAIL PROTECTED]>
>
>- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>Serviço do Yahoo! .
>
>


[As partes desta mensagem que não continham texto foram removidas]



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Achar diretório do Script

2005-12-06 Por tôpico Julio C. Neves
Alain,
o cmd dirname te devolve o caminho relativo. Entao uma forma de resolver 
isso eh:
cd $(dirname $0)
pwd
cd -

[ ]s,
Julio
:wq

Alain wrote:

>Como eu acho em que diretório está o script atual? Eu sei que $0 tem o 
>nome completo, o comando abaixo faz o inverso, ou seja me dá só o nome 
>mas eu quero só o diretório. Exemplo
>
>$0 é /opt/bin/firefox.sh
>eu quero /opt/bin
>
>Assim eu posso chamer o outro script firefoxrun.sh que está no mesmo 
>diretório, mesmo se mudarem ele de lugar.
>
>grato,
>Alain
>
>Tiago Barcellos Peczenyj escreveu:
>  
>
>>O que é mais formal:
>>
>>[ "${1}" ] || { echo "usage: $(basename $0) parametro" ; exit 1; }
>>
>>ou
>>
>>if [ "${1}" ]
>>then echo "usage..."
>>exit 1
>>fi
>>
>>geralmente eu gosto da primeira notação, é mais sucinta. mas ela possui
>>algum tipo de problema, digamos, alguma incompatibilidade com outros shells,
>>ou tem alguma sutileza que a forma if then fi não possui ?
>>
>>As duas funcionam, entretanto.
>>Em 06/12/05, Fernando Lemes da Silva <[EMAIL PROTECTED]> escreveu:
>>
>>
>>
>>>  Não querendo contribuir com o flame, mas sim com o propósito de se
>>>escrever
>>>um bom código, eu considero sim uma boa prática proteger conteúdo de
>>>variáveis, definir bem o que é uma variável (${VAR})..
>>>
>>>  Além ter tornar as coisas mais fáceis de ler, depois que voce precisar
>>>olhar de novo o mesmo código, isto poderia previnir que numa alteração
>>>futura
>>>do script o mesmo parasse de funcionar porque não foi cogitado que alguma
>>>variável poderia ter espaços um dia (exemplo)...
>>>
>>>  []'s
>>>
>>>--
>>>  /**
>>>   _ Fernando Lemes da Silva
>>>  °v°www.koho.com.br
>>> /(¡)\   Linux user [EMAIL PROTECTED]
>>>  ^ ^lICQ UIN 2371843
>>>  echo 396752965710071000896145190854552842P | dc
>>>  **/
>>>
>>>Em Seg 05 Dez 2005 20:44, Herbert Alexander Faleiros escreveu:
>>>
>>>  
>>>
On Monday 05 December 2005 11:43, Emerson Domingues Souto wrote:



>o colega Herbert parece não prestar muita atenção a essas práticas
>  
>
Se querem gerar código redundante/desnecessário é com vocês.
Por que eu aplicaria algo desnecessáriamente se sei o que estou fazendo?
E igual aquela história de executar rm -rf para qualquer coisa ou dizer


>>>que
>>>
>>>  
>>>
sei que algo é um diretório porque apareceu "azul" aqui no meu terminal.
Putz, isso já tá virando flame (fico por aqui)...


>>>-
>>>Esta lista não admite a abordagem de outras liguagens de programação, como
>>>perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
>>>aviso.
>>>-
>>>Sair da lista: [EMAIL PROTECTED]
>>>-
>>>Esta lista é moderada de acordo com o previsto em
>>>http://www.listas-discussao.cjb.net
>>>-
>>>
>>>
>>>
>>>*Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>>>
>>>
>>>--
>>>*Links do Yahoo! Grupos*
>>>
>>>  - Para visitar o site do seu grupo na web, acesse:
>>>  http://br.groups.yahoo.com/group/shell-script/
>>>
>>>  - Para sair deste grupo, envie um e-mail para:
>>>  [EMAIL PROTECTED]<[EMAIL PROTECTED]>
>>>
>>>  - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>>>  Serviço do Yahoo! .
>>>
>>>
>>>  
>>>
>>
>>[As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>>-
>>Esta lista não admite a abordagem de outras liguagens de programação, como 
>>perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
>>aviso.
>>-
>>Sair da lista: [EMAIL PROTECTED]
>>-
>>Esta lista é moderada de acordo com o previsto em 
>>http://www.listas-discussao.cjb.net
>>-
>> 
>>Links do Yahoo! Grupos
>>
>>
>>
>>
>> 
>>
>>
>>
>>
>>
>>
>
>
>-
>Esta lista não admite a abordagem de outras liguagens de programação, como 
>perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
>aviso.
>-
>Sair da lista: [EMAIL PROTECTED]
>

[shell-script] Script de backup

2005-12-06 Por tôpico Sergio Maia Rabelo
Olá pessoal goataria de uma ajuda, o script abaixo estava correto so que
agora so esta fazendo o backup de uma das redes (acd).
Será que pode estar errado o que ae ?

Valeu, parabéns pela lista.
=)

Sérgio Maia.

#!/bin/sh -x
#
DATA=`date +%H%M-%d-%m-%Y`
LP=/var/log
M=/bin/mount
ST=/usr/bin/star
UM=/bin/umount
RM=/bin/rm
T=/usr/bin/touch
MT=/bin/mt
#
$RM -rf /var/log/backup-*
$T /var/log/backup-$DATA
#
$M /acd/home; $ST cvf /dev/nst0 /acd/home > $LP/backup-acd-home.log 2>
$LP/backup-acd-home.err; $UM /acd/home
#
$M /acd/publico; $ST cvf /dev/nst0 /acd/publico >
$LP/backup-acd-publico.log2> $LP/backup-
acd-publico.err; $UM /acd/publico
#
$M /adm/home; $ST cvf /dev/nst0 /adm/home > $LP/backup-adm-home.log 2>
$LP/backup-adm-home.err; $UM /adm/home
#
$M /adm/publico; $ST cvf /dev/nst0 /adm/publico >
$LP/backup-adm-publico.log2> $LP/backup-
adm-publico.err; $UM /adm/publico
#
$ST cvf /dev/nst0 /etc > $LP/backup-fir-etc.log 2> $LP/backup-fir-etc.err
#
$MT -f /dev/nst0 offline


[As partes desta mensagem que não continham texto foram removidas]



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Shell

2005-12-06 Por tôpico Tiago Barcellos Peczenyj
De novo ?

Tche, faz assim na primeira execução do teu arquivo:

manda_email_ok(){
# ...
}

manda_email_erro(){
# ...
}

MASTER=master.txt
LOG=log.txt

service squid status > $LOG

if diff $MASTER $LOG >/dev/null
then manda_email_ok
else manda_email_erro
fi

na primeira vez que vc executar, ele vai gerar um arquivo log.txt ,
certo ? olha o arquivo... tem o que tu quer ? se tem, renomeia ele pra
master.txt

assim sempre que o script rodar, ele vai fazer um diff nos arquivos,
se forem iguais, ele manda o email, se não ele manda o outro... o que
tu acha ?

Em 06/12/05, tschievenin <[EMAIL PROTECTED]> escreveu:
> Bom como disse sou iniciante nessa area de programação shell, fiz um
>  script que é mais um exercício do que um script usual, gostaria de
>  saber o pq do meu script não entrar no if pois ele só manda o email
>  como se o serviço estivesse parado.
>
>  Agradeço desde já!!
>  OS=`uname -s`
>  [EMAIL PROTECTED]
>  [EMAIL PROTECTED]
>  [EMAIL PROTECTED]
>
>
>  # Verificando se o sistem eh Linux
>  #inicia as variáveis
>  if [ $OS = "Linux" ];then
> HOSTN=/bin/hostname
> SENDMAIL=/usr/sbin/sendmail
>  else
>echo " Sistema não reconhecido"
>exit -1
>fi
>  # Verifica se todos o squid está rodando
>
>  PROXY=`service squid status`
>
>
>  if [ "$PROXY"= "O squid (pid 825 823) está a
>  rodando... " ];then
>  echo -e Subject:" Servico iniciado com sucesso
>  \nReply-To: \
>  $REPL\nTudo esta rodando perfeitamente."|$SENDMAIL -
>  f$SENDER $MAILBOX
>
>
>  else
>  echo -e "Subject: O servico esta parado \nReply-To: \
>  $REPL\nAdministrador verificar o
>  servico."|$SENDMAIL -f$SENDER $MAILBOX
>
> fi
>
>
>
>
>
>   -
>  Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
>  -
>  Sair da lista: [EMAIL PROTECTED]
>  -
>  Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
>  -
>
>
>
>
>  Yahoo! Grupos, um serviço oferecido por:
>
> PUBLICIDADE
>
>
 Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
> Yahoo!.


-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] PHP + Shell

2005-12-06 Por tôpico Reinaldo Carvalho
function isUpdating() {
  $cmd = "dpkg -l | grep " . $this->name . " > /dev/null 2>&1";
}


Em 06/12/05, Fabio Pires<[EMAIL PROTECTED]> escreveu:
> Ola galera 
>
> Estou precisando de uma ajudinha em uma função do php !!!
>
> Preciso que a função abaixo tenha a nomenclatura descripta porém a saida
> do comando é redirecionada através do sinal de ">" para o diretório
> "/dev/null"! e após isso é devolvido o console para mim através das
> opções "2>&1".
>
> Porém não sei como fazer para o php entender estes caracteres especiais
> !!! O objeto $this->name nada mais é do que o nome de um pacote  O
> que a função faz é verificar se o pacotes está ou não isntalado 
>
> Como faço para que o php interprete este comando de shell scrips ???
>
> Agradeço desde já!
>
>
> function isUpdating() {
> $cmd = "dpkg -l | grep " . $this->name > /dev/null 2>&1;
>
> Agradeço desde já !
>
>
>
>
>
>
> ___
> Yahoo! doce lar. Faça do Yahoo! sua homepage.
> http://br.yahoo.com/homepageset.html
>
>
>
> -
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> -
> Sair da lista: [EMAIL PROTECTED]
> -
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> -
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


--
Reinaldo Carvalho
Debian Sarge 3.1 - Linux User: #238310
Prodepa - [EMAIL PROTECTED]


-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Shell

2005-12-06 Por tôpico Emerson Domingues Souto
Amigo, tenho a impressão de que ja te demos o caminho das pedras, mas caso eu 
esteja enganado, vamos lá:

1) em qual if o script está entrando ?
2) coloque echo nas variáveis antes do if para visualizar o conteúdo delas, 
assim vc saberá pq entrou ou não no if
3) uma opção no lugar do echo é debugar o script executando com o comando "sh 
-x script"
4) neste caso isso não faz diferença, mas para garantir um melhor funcionamento 
em caso de novas implementações coloque aspas nas comparações de variáveis com 
string. Ex: if [ "$OS" = "Linux" ] ; then

Esperto ter ajudado,
Emerson

  - Original Message - 
  From: tschievenin 
  To: shell-script@yahoogrupos.com.br 
  Sent: Tuesday, December 06, 2005 1:20 PM
  Subject: [shell-script] Shell


  Bom como disse sou iniciante nessa area de programação shell, fiz um 
  script que é mais um exercício do que um script usual, gostaria de 
  saber o pq do meu script não entrar no if pois ele só manda o email 
  como se o serviço estivesse parado.

  Agradeço desde já!!
  OS=`uname -s`
  [EMAIL PROTECTED]
  [EMAIL PROTECTED]
  [EMAIL PROTECTED]


  # Verificando se o sistem eh Linux
  #inicia as variáveis
  if [ $OS = "Linux" ];then
 HOSTN=/bin/hostname
 SENDMAIL=/usr/sbin/sendmail
  else
echo " Sistema não reconhecido"
exit -1
fi
  # Verifica se todos o squid está rodando

  PROXY=`service squid status`


  if [ "$PROXY"= "O squid (pid 825 823) está a 
  rodando... " ];then
  echo -e Subject:" Servico iniciado com sucesso 
  \nReply-To: \
  $REPL\nTudo esta rodando perfeitamente."|$SENDMAIL -
  f$SENDER $MAILBOX
  

  else
  echo -e "Subject: O servico esta parado \nReply-To: \
  $REPL\nAdministrador verificar o 
  servico."|$SENDMAIL -f$SENDER $MAILBOX
  
 fi


[As partes desta mensagem que não continham texto foram removidas]



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Shell

2005-12-06 Por tôpico Humberto Pereira
Voce deve testar o status do comando service, e nao o retorno como vc
esta fazendo. Veja:


[EMAIL PROTECTED] ~]# service sshd status
sshd (pid 24369 24367 2354) is running...
[EMAIL PROTECTED] ~]# echo $?
0
[EMAIL PROTECTED] ~]# service sendmail status
sendmail is stopped
[EMAIL PROTECTED] ~]# echo $?
3
[EMAIL PROTECTED] ~]#

O codigo ficaria algo como...

service squid status
# squid rodando
if [ $? -eq 0 ]; then
manda mail...
# squid parado
else
   manda mail...
fi

[]s
Humberto Pereira

tschievenin wrote:
> Bom como disse sou iniciante nessa area de programação shell, fiz um 
> script que é mais um exercício do que um script usual, gostaria de 
> saber o pq do meu script não entrar no if pois ele só manda o email 
> como se o serviço estivesse parado.
> 
> Agradeço desde já!!
> OS=`uname -s`
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> 
> # Verificando se o sistem eh Linux
> #inicia as variáveis
> if [ $OS = "Linux" ];then
>HOSTN=/bin/hostname
>SENDMAIL=/usr/sbin/sendmail
> else
>   echo " Sistema não reconhecido"
>   exit -1
>   fi
> # Verifica se todos o squid está rodando
> 
> PROXY=`service squid status`
> 
> 
> if [ "$PROXY"= "O squid (pid 825 823) está a 
> rodando... " ];then
> echo -e Subject:" Servico iniciado com sucesso 
> \nReply-To: \
> $REPL\nTudo esta rodando perfeitamente."|$SENDMAIL -
> f$SENDER $MAILBOX
> 
> 
> else
> echo -e "Subject: O servico esta parado \nReply-To: \
> $REPL\nAdministrador verificar o 
> servico."|$SENDMAIL -f$SENDER $MAILBOX
> 
>fi
> 
> 
> 
> 
> 
> -
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> -
> Sair da lista: [EMAIL PROTECTED]
> -
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> -
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Shell

2005-12-06 Por tôpico Tiago Schievenin
Cara muito obrigado mesmo...me ajudou muitoagradeço mesmo.funcionou 
perfeitamente.

Humberto Pereira <[EMAIL PROTECTED]> escreveu:  Voce deve testar o status do 
comando service, e nao o retorno como vc
esta fazendo. Veja:


[EMAIL PROTECTED] ~]# service sshd status
sshd (pid 24369 24367 2354) is running...
[EMAIL PROTECTED] ~]# echo $?
0
[EMAIL PROTECTED] ~]# service sendmail status
sendmail is stopped
[EMAIL PROTECTED] ~]# echo $?
3
[EMAIL PROTECTED] ~]#

O codigo ficaria algo como...

service squid status
# squid rodando
if [ $? -eq 0 ]; then
manda mail...
# squid parado
else
   manda mail...
fi

[]s
Humberto Pereira

tschievenin wrote:
> Bom como disse sou iniciante nessa area de programação shell, fiz um 
> script que é mais um exercício do que um script usual, gostaria de 
> saber o pq do meu script não entrar no if pois ele só manda o email 
> como se o serviço estivesse parado.
> 
> Agradeço desde já!!
> OS=`uname -s`
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> 
> # Verificando se o sistem eh Linux
> #inicia as variáveis
> if [ $OS = "Linux" ];then
>HOSTN=/bin/hostname
>SENDMAIL=/usr/sbin/sendmail
> else
>   echo " Sistema não reconhecido"
>   exit -1
>   fi
> # Verifica se todos o squid está rodando
> 
> PROXY=`service squid status`
> 
> 
> if [ "$PROXY"= "O squid (pid 825 823) está a 
> rodando... " ];then
> echo -e Subject:" Servico iniciado com sucesso 
> \nReply-To: \
> $REPL\nTudo esta rodando perfeitamente."|$SENDMAIL -
> f$SENDER $MAILBOX
> 
> 
> else
> echo -e "Subject: O servico esta parado \nReply-To: \
> $REPL\nAdministrador verificar o 
> servico."|$SENDMAIL -f$SENDER $MAILBOX
> 
>fi
> 
> 
> 
> 
> 
> -
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> -
> Sair da lista: [EMAIL PROTECTED]
> -
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> -
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-



Yahoo! Grupos, um serviço oferecido por:PUBLICIDADE

  
-
  Links do Yahoo! Grupos

   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 





-
 Yahoo! doce lar. Faça do Yahoo! sua homepage.

-
 Yahoo! doce lar. Faça do Yahoo! sua homepage.

[As partes desta mensagem que não continham texto foram removidas]



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Achar diretório do Script

2005-12-06 Por tôpico Alain
É mais enrrolado do que eu pensava...

Fiz uns testes com a sugestão do Emerson, simplifiquei um pouco para isto:
DIR=$(dirname $(which $0))
Mas será que vai funcionar sempre?

A solução do Julio é ok, mas tenho um certo receio de mudar de diretório 
e alguma coisa dar errado no meio.

Outra alternativa seria reformular o problema: eu só pretendo é executar 
um outro script que está no mesmo diretório... será que isto resolve:
NOVO=$(dirname $0)/script2.sh
???

Agradeço a atenção,
Alain

Julio C. Neves escreveu:
> Alain,
> o cmd dirname te devolve o caminho relativo. Entao uma forma de resolver 
> isso eh:
> cd $(dirname $0)
> pwd
> cd -
> 
> [ ]s,
> Julio
> :wq
> 
> Alain wrote:
> 
> 
>>Como eu acho em que diretório está o script atual? Eu sei que $0 tem o 
>>nome completo, o comando abaixo faz o inverso, ou seja me dá só o nome 
>>mas eu quero só o diretório. Exemplo
>>
>>$0 é /opt/bin/firefox.sh
>>eu quero /opt/bin
>>
>>Assim eu posso chamer o outro script firefoxrun.sh que está no mesmo 
>>diretório, mesmo se mudarem ele de lugar.
>>
>>grato,
>>Alain
>>
>>Tiago Barcellos Peczenyj escreveu:
>> 
>>
>>
>>>O que é mais formal:
>>>
>>>[ "${1}" ] || { echo "usage: $(basename $0) parametro" ; exit 1; }
>>>
>>>ou
>>>
>>>if [ "${1}" ]
>>>then echo "usage..."
>>>exit 1
>>>fi
>>>
>>>geralmente eu gosto da primeira notação, é mais sucinta. mas ela possui
>>>algum tipo de problema, digamos, alguma incompatibilidade com outros shells,
>>>ou tem alguma sutileza que a forma if then fi não possui ?
>>>
>>>As duas funcionam, entretanto.
>>>Em 06/12/05, Fernando Lemes da Silva <[EMAIL PROTECTED]> escreveu:
>>>
>>>   
>>>
>>>
 Não querendo contribuir com o flame, mas sim com o propósito de se
escrever
um bom código, eu considero sim uma boa prática proteger conteúdo de
variáveis, definir bem o que é uma variável (${VAR})..

 Além ter tornar as coisas mais fáceis de ler, depois que voce precisar
olhar de novo o mesmo código, isto poderia previnir que numa alteração
futura
do script o mesmo parasse de funcionar porque não foi cogitado que alguma
variável poderia ter espaços um dia (exemplo)...

 []'s

--
 /**
  _ Fernando Lemes da Silva
 °v°www.koho.com.br
/(¡)\   Linux user [EMAIL PROTECTED]
 ^ ^lICQ UIN 2371843
 echo 396752965710071000896145190854552842P | dc
 **/

Em Seg 05 Dez 2005 20:44, Herbert Alexander Faleiros escreveu:

 


>On Monday 05 December 2005 11:43, Emerson Domingues Souto wrote:
>
>   
>
>
>>o colega Herbert parece não prestar muita atenção a essas práticas
>> 
>>
>
>Se querem gerar código redundante/desnecessário é com vocês.
>Por que eu aplicaria algo desnecessáriamente se sei o que estou fazendo?
>E igual aquela história de executar rm -rf para qualquer coisa ou dizer
>   
>

que

 


>sei que algo é um diretório porque apareceu "azul" aqui no meu terminal.
>Putz, isso já tá virando flame (fico por aqui)...
>   
>

-
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
-



*Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE


--
*Links do Yahoo! Grupos*

 - Para visitar o site do seu grupo na web, acesse:
 http://br.groups.yahoo.com/group/shell-script/

 - Para sair deste grupo, envie um e-mail para:
 [EMAIL PROTECTED]<[EMAIL PROTECTED]>

 - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
 Serviço do Yahoo! .


 

>>>
>>>[As partes desta mensagem que não continham texto foram removidas]
>>>
>>>
>>>
>>>-
>>>Esta lista não admite a abordagem de outras liguagens de programação, como 
>>>perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
>>>aviso.
>>>-
>>>Sair da lista: [EMAIL P

[shell-script] Analise sintatica de Shell

2005-12-06 Por tôpico Rafael Pereira
Caros,

gostaria de saber se existe alguma ferramenta q faca a analise 
sintatica de um script shell sem precisar executar ele. Testar se as 
variaveis foram inicializadas, se nao existe nenhum for sem do/done, 
chaves faltando, essas coisas.

Tbm gostaria q me indicassem um depurador, onde pudesse ver o valor das 
variaveis em tempo de execucao, executar o codigo passo a passo, etc, 
algo + avancado q um simples sh -x.

[]s
Narcotic


-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Achar diretório do Script

2005-12-06 Por tôpico Gabriel Gilini
não vejo porque o receio de usar a dica do Júlio se for apenas para
armazenar o diretório... mas se vc ao invés disso quiser apenas armazenar o
caminho para outro script no mesmo dir, acho que não deve incluir o $0:
NOVO=$(dirname)/script2.sh

Espero ter ajudado,
Gabriel Gilini


[As partes desta mensagem que não continham texto foram removidas]



-
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
-
Sair da lista: [EMAIL PROTECTED]
-
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html