Re: [shell-script] Qual o FOR mais rápido

2007-04-14 Por tôpico Christian Lyra
Acredito que a razão seja outra. O seq é executado de uma vez e gera toda a
seguencia de numeros, assim  o "for" só precisa percorrer ela. No segundo
caso, para cada iteração é necessário executar uma operação matemática e uma
comparação.

On 4/14/07, Thiago Argolo <[EMAIL PROTECTED]> wrote:
>
>   No primeiro, assim como no segundo script, há um incremento, no primeiro
> caso declarado explicitamente enquanto no segundo atraves do seq. Porem,
> no
> primeiro para cada repetição do laço ele faz uma comparação (se i <=
> 9)
> o que diminui a eficiencia do codigo.
> Acho que é isso, corrijam-me se estiver errado!
>
> Em 13/04/07, Amador Pahim <[EMAIL PROTECTED]>
> escreveu:
>
> >
> > Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a
> > forma mais rápida de execução do comando FOR. Cheguei a tais resultados:
> >
> > Script teste01.sh:
> > 
> > for ((i=1; i<=9; i++))
> > do
> > if [ $i == 9 ]
> > then
> > echo Executando ultimo laço
> > fi
> > done
> > 
> >
> > [EMAIL PROTECTED]:~# time ./teste01.sh
> > Executando ultimo laço
> >
> > real 0m4.037s
> > user 0m3.604s
> > sys 0m0.172s
> >
> > Script teste02.sh:
> > 
> > for i in $(seq 9)
> > do
> > if [ $i == 9 ]
> > then
> > echo Executando ultimo laço
> > fi
> > done
> > 
> >
> > [EMAIL PROTECTED]:~# time ./teste02.sh
> > Executando ultimo laço
> >
> > real 0m2.701s
> > user 0m2.432s
> > sys 0m0.176s
> >
> > Esses resultados me deixaram um pouco confuso, pois imaginei que meu
> > script 01, por utilizar um incremento nativo do FOR fosse ser mais
> > rápido do que o script 02, que usa uma chamada a um comando externo.
> > Alguem poderia me ajudar a interpretar melhor esses resultados?
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Christian Lyra
PoP-PR/RNP


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



Re: Re: [shell-script] Qual o FOR mais rápido

2007-04-14 Por tôpico mop
O melhor é você ver as operações realizadas fazendo um
set -x 
antes do loop.
Isso não mostrará o tempo para execução de cada uma mas dará um visão
do que ocorre.
Também considero interessante para a comparação temporal reduzir as 
operações no loop, por exemplo:

for i in $(seq 9)
do
: 
done

Indo apenas até 9 é suficiente para apreciação do set -x.
Para a medição do efeito penso que um loop que ultrapasse o minuto seria
mais conveniente para estabelecer proporções reduzindo influênica de tempos de 
carga de programas envolvidos, claro que sem o -x então. Normalmente os
programas externos são mais eficientes no que fazem, pois geralmente são
especializados. A vantagem dependerá da quantidade de trabalho que 
realizará, do tempo para ser posto em funcionamento e dos recursos que
absorverá em relação ao disponível.



--
>From: "Christian Lyra" <[EMAIL PROTECTED]>
>Date: Sat, 14 Apr 2007 08:25:20 -0300
>
>Acredito que a razão seja outra. O seq é executado de uma vez e gera toda a
>seguencia de numeros, assim  o "for" só precisa percorrer ela. No segundo
>caso, para cada iteração é necessário executar uma operação matemática e uma
>comparação.
>
>On 4/14/07, Thiago Argolo <[EMAIL PROTECTED]> wrote:
>>
>>   No primeiro, assim como no segundo script, há um incremento, no primeiro
>> caso declarado explicitamente enquanto no segundo atraves do seq. Porem,
>> no
>> primeiro para cada repetição do laço ele faz uma comparação (se i <=
>> 9)
>> o que diminui a eficiencia do codigo.
>> Acho que é isso, corrijam-me se estiver errado!
>>
>> Em 13/04/07, Amador Pahim <[EMAIL PROTECTED]>
>> escreveu:
>>
>> >
>> > Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a
>> > forma mais rápida de execução do comando FOR. Cheguei a tais resultados:
>> >
>> > Script teste01.sh:
>> > 
>> > for ((i=1; i<=9; i++))
>> > do
>> > if [ $i == 9 ]
>> > then
>> > echo Executando ultimo laço
>> > fi
>> > done
>> > 
>> >
>> > [EMAIL PROTECTED]:~# time ./teste01.sh
>> > Executando ultimo laço
>> >
>> > real 0m4.037s
>> > user 0m3.604s
>> > sys 0m0.172s
>> >
>> > Script teste02.sh:
>> > 
>> > for i in $(seq 9)
>> > do
>> > if [ $i == 9 ]
>> > then
>> > echo Executando ultimo laço
>> > fi
>> > done
>> > 
>> >
>> > [EMAIL PROTECTED]:~# time ./teste02.sh
>> > Executando ultimo laço
>> >
>> > real 0m2.701s
>> > user 0m2.432s
>> > sys 0m0.176s
>> >
>> > Esses resultados me deixaram um pouco confuso, pois imaginei que meu
>> > script 01, por utilizar um incremento nativo do FOR fosse ser mais
>> > rápido do que o script 02, que usa uma chamada a um comando externo.
>> > Alguem poderia me ajudar a interpretar melhor esses resultados?



-
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
-
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
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] Qual o FOR mais rápido

2007-04-14 Por tôpico Reinaldo Carvalho
A diferença esta em que no segundo não há uma incrementação de
variavel (i++) ele simplesmente utiliza a lista gerada pelo seq.

On 4/13/07, Amador Pahim <[EMAIL PROTECTED]> wrote:
> Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a
> forma mais rápida de execução do comando FOR. Cheguei a tais resultados:
>
> Script teste01.sh:
> 
> for ((i=1; i<=9; i++))
> do
> if [ $i == 9 ]
> then
> echo Executando ultimo laço
> fi
> done
> 
>
> [EMAIL PROTECTED]:~# time ./teste01.sh
> Executando ultimo laço
>
> real0m4.037s
> user0m3.604s
> sys 0m0.172s
>
>
> Script teste02.sh:
> 
> for i in $(seq 9)
> do
> if [ $i == 9 ]
> then
> echo Executando ultimo laço
> fi
> done
> 
>
> [EMAIL PROTECTED]:~# time ./teste02.sh
> Executando ultimo laço
>
> real0m2.701s
> user0m2.432s
> sys 0m0.176s
>
>
>
> Esses resultados me deixaram um pouco confuso, pois imaginei que meu
> script 01, por utilizar um incremento nativo do FOR fosse ser mais
> rápido do que o script 02, que usa uma chamada a um comando externo.
> Alguem poderia me ajudar a interpretar melhor esses resultados?
>
>
>
> -
> 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
> -
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>


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


[shell-script] Algum script eficiente de bakcup mysql

2007-04-14 Por tôpico Rony Linux
Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos dados 
se possivel apagando os dados da tabela apos a confirmacao do envio... e como 
poderia agendar issu no linux para ser feito todos os dias

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

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



Re: [shell-script] Algum script eficiente de bakcup mysql

2007-04-14 Por tôpico Bruno Gunter Fricke
Adcione na crontab, http://en.wikipedia.org/wiki/Crontab

[]'s

  - Original Message - 
  From: Rony Linux 
  To: [EMAIL PROTECTED] 
  Sent: Saturday, April 14, 2007 7:16 PM
  Subject: [shell-script] Algum script eficiente de bakcup mysql


  Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos 
dados se possivel apagando os dados da tabela apos a confirmacao do envio... e 
como poderia agendar issu no linux para ser feito todos os dias

  __
  Fale com seus amigos de graça com o novo Yahoo! Messenger 
  http://br.messenger.yahoo.com/ 

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



   

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



Re: [shell-script] Descobrir a qual linguagem de programação o arquivo se refere.

2007-04-14 Por tôpico marcus
Olá!

Na minha opiniao, identificar atraves da primeira linha (#!/bin/bash, 
#!/bin/sh... ) eh a melhor forma. Sei que existem algumas combinacoes, mas o 
script servira justamente para voce tentar varias delas. Depois faça como 
voce mesmo disse na linguagem C, procure o '#include'. 
Se um arquivo nao possui a linha #!/bin/bash e derivados, provavelmente eh 
escrito em C. Ao menos que existam outras liguagens na pesquisa.
Voce poderia usar o case para escrever o script. Tipo case 1 #!/bin/bash e 
derivados, case 2 #include, case 3 nenhum dos dois (entao provavelmente C).

Abs!! 
:-]]



Em Sexta 13 Abril 2007 14:30, Bruno Gunter Fricke escreveu:



> Eu já vi .log ser chamado de ASCII Java também...
>
> Será que o header do Java Text é parecido com arquivos de texto mesmo??
> Ou será que o file não sabe o que é um Java Text?
>
> Em Sex, 2007-04-13 às 13:57 -0300, Tiago Barcellos Peczenyj escreveu:
> > Não sei se o file resolve 100% dos problemas,
> >
> > ja vi ele dizer q um arquivo txt comum era um ASCII Java program text
> >
> > usem com cuidado ;-)
> >
> > On 4/13/07, Hever C. Rocha <[EMAIL PROTECTED]> wrote:
> > > Outra alternativa é usar o comando file:
> > > /bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
> >
> > for
> >
> > > GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
> > > file /etc/rc.d/rc.local
> > > /etc/rc.d/rc.local: Bourne shell script text executable
> > >
> > > Feliz Sexta feira 13!!
> > >
> > > Hever
> > >
> > > Em 13/04/07, Tiago Barcellos Peczenyj
> >
> > <[EMAIL PROTECTED]>
> >
> > > escreveu:
> > > > Diego, normalmente vc consegue isso através da extensão do
> >
> > arquivo.
> >
> > > > É como um makefile normalmente funciona. vc tem uma regra como
> >
> > esta
> >
> > > > *.o : *.c
> > > > alguma ação
> > > >
> > > > A maioria dos compiladores acusam erro se vc tentar compilar um
> >
> > programa
> >
> > > > com
> > > > extensão diferente - logo seria uma boa abordagem. Agora, no caso
> >
> > de
> >
> > > > scripts
> > > > isso não é totalmente verdade, por que vc não precisa ter um
> >
> > arquivo com
> >
> > > > extensão .sh num shell por exemplo.
> > > >
> > > > Entretanto nesses casos vc tem a primeira linha famosa
> > > >
> > > > #!/lalala/interpretador
> > > >
> > > > ai um grep resolve ;-)
> > > >
> > > > Boa sorte!
> > > >
> > > > On 4/12/07, Diego Giovane Pasqualin
> >
> > <[EMAIL PROTECTED]
> >
> > > >
> > >
> > > > wrote:
> > > > > Boa noite, estou criando um programa simples que adiciona
> >
> > cabeçalho
> >
> > > nos
> > >
> > > > > arquivos.
> > > > > PorÃ(c)m, o tipo do cabeçalho depende do tipo de arquivo. Se o
> > >
> > > arquivo
> > >
> > > > for
> > > >
> > > > > shell, cada linha começa com "#", se for arquivo em C, tenho
> >
> > que
> >
> > > > > adicionar "/*", e assim por diante.
> > > > >
> > > > > Portando, gostaria de uma dica para identificar o tipo de
> >
> > arquivo que
> >
> > > > > estou trabalhando. O comando "file" não me ajuda já que
> >
> > reconhece
> >
> > > > todos
> > > >
> > > > > como arquivo texto. Pensei em procurar por "#!/bin/bash" no caso
> >
> > do
> >
> > > > > shell, mas teria que testar muitas outras possibilidades tb (sh,
> >
> > ksh,
> >
> > > > > expect, etc), procurar por "#include" em C, mas pode ser que o
> >
> > arquivo
> >
> > > > > nem tenha includes...
> > > > >
> > > > > Concluindo, qual a melhor maneira de descobrir a qual linguagem
> >
> > o
> >
> > > > > arquivo se refere?
> > > > >
> > > > > Obrigado,
> > > > > Abraços...
> > > > >
> > > > >
> > > > > ___
> > > > > Yahoo! Mail - Sempre a melhor opção para você!
> > > > > Experimente já e veja as novidades.
> > > > > http://br.yahoo.com/mailbeta/tudonovo/
> > > >
> > > > --
> > > > Tiago B Peczenyj
> > > > Linux User #405772
> > > >
> > > > # cd /pub
> > > > # more beer
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
> > [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]


Re: [shell-script] Algum script eficiente de bakcup mysql

2007-04-14 Por tôpico marcus

O agendamento pode ser feito no /etc/cron.daily. Procure pelo daemon 'cron' no 
www.vivaolinux.com.br ou no google para saber como funciona. Eh bem 
tranquilo!

Abraços!

Em Sábado 14 Abril 2007 19:16, Rony Linux escreveu:
> Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos
> dados se possivel apagando os dados da tabela apos a confirmacao do
> envio... e como poderia agendar issu no linux para ser feito todos os
> dias
>
>  __
> Fale com seus amigos  de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
>
> [As partes desta mensagem que não continham texto foram removidas]


Re: [shell-script] Algum script eficiente de bakcup mysql

2007-04-14 Por tôpico Bruno Gunter Fricke
Rony (faz um gol rapaz :-P)


Para o backup use o mysqldump, por exemplo:
$ mysqldump -h localhost -u usuario -p banco > backup_banco.sql

Para "backupear" todas as tabelas do banco você pode usar o parâmetro 
--all-databases, por exemplo 

$ mysqldump --all-databases > all_databases.sql

Qualquer dúvide, visite http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html

Para enviar um e-mail após o dump, use o sendmail. Por exemplo:

/usr/sbin/sendmail $email << EOF
  Subject: Rotina de backup
  From: localhost
  To: seu email
  O backup acabou!
  EOF

Então você tem que fazer algo como:


#!/bin/bash

mysqldump -h localhost -u usuario -p banco > backup_banco.sql
/usr/sbin/sendmail $email << EOF
  Subject: Rotina de backup
  From: localhost
  To: seu email

  O backup acabou!
  EOF


Se quiser, adicione na cron (leia aquele link que te mandei antes) e vá 
adicionando as perfumarias à gosto ;-)

[]'s
Gunter




  - Original Message - 
  From: marcus 
  To: [EMAIL PROTECTED] 
  Sent: Saturday, April 14, 2007 8:35 PM
  Subject: Re: [shell-script] Algum script eficiente de bakcup mysql



  O agendamento pode ser feito no /etc/cron.daily. Procure pelo daemon 'cron' 
no 
  www.vivaolinux.com.br ou no google para saber como funciona. Eh bem 
  tranquilo!

  Abraços!

  Em Sábado 14 Abril 2007 19:16, Rony Linux escreveu:
  > Gostaria de um scritp q salva-se em txt ou zip e me mandasse o email dos
  > dados se possivel apagando os dados da tabela apos a confirmacao do
  > envio... e como poderia agendar issu no linux para ser feito todos os
  > dias
  >
  > __
  > Fale com seus amigos de graça com o novo Yahoo! Messenger
  > http://br.messenger.yahoo.com/
  >
  > [As partes desta mensagem que não continham texto foram removidas]


   

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