shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Script para monitorar a recepção de arquivos do proftp.


From: jairazambuja
Subject: Re: Script para monitorar a recepção de arquivos do proftp.
Date: Mon, 30 Jan 2012 05:28:24 -0000
User-agent: eGroups-EW/0.82

Júlio.

Muito obrigado pelas dicas e pela atenção dispensada.
Vou testá-las amanhã e te informo.

Sou das antigas, gosto muito do modo texto, só que sou analista de sistemas e 
com o advento do windows o mercado me empurrou para desenvolver nesta 
plataforma, mas sempre procuro dedicar um tempo para estudar o Linux (só shell) 
e tuas dicas são bem vindas.

[]'s.

Jair Viana.

 


--- Em address@hidden, "Julio C. Neves" <julio.neves@...> escreveu
>
> Fala Jair,
> assim fica mais fácil, acho que podemos ajudá-lo!
> 
> Primeiro umas dicas:
> Não procurei entender muito o seu script (domingo às 21:00h é fogo!) :( Mas
> vou dar umas dicas de shell:
> 
> Troque:
> cat /comparacao/copiaxferlog |grep "b _ i" |grep "$1" |cut -f1,2,4,5,6,9,10
> -d" " > /comparacao/clientes/"$1"
> 
> test -s /comparacao/clientes/"$1"
> if [ $? = 0 ]
> then
> echo "$1"
> mail -s "Arquivo novo no FTP" arquivosftp < /comparacao/clientes/"$1"
> fi
> 
> por:
> if var=$(grep "b _ i" /comparacao/copiaxferlog | grep "$1" |cut
> -f1,2,4,5,6,9,10 -d" ")
> then
> echo "$1"
> mail -s "Arquivo novo no FTP" arquivosftp < "$var"
> fi
> 
> Já que vc está com vontade de aprender a programar em shell, lembre-se: *a
> função do if não é testar condição. É testar o retorno de i n s t r u ç ã
> o!*, que é o famigerado e incompreendido $?. Assim sendo o que vc mais vê
> pela internet é "if [ $? = ..." que é uma bobagem que se perpetua pela rede.
> 
> e o cmd test tb é representado por [ ... ] assim sendo, qdo vc fez um test
> e depois fez [ $? = 0 ] (que tb está errado, pq para test com numérico não
> deveria ser = mas sim -eq), vc usou o cmd test 2 vezes e, como vc viu, não
> usei nenhuma.
> 
> Para vc entender o cmd if e o test em sua plenitude, leia em 20 minutos o
> texto que começa
> aqui<http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo003#Comandos_Condicionais>e
> termina
> aqui <http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo004#O_Comando_test>.
> Está em português, cheio de exemplos e mostra absolutamente tudo sobre o
> tema.
> 
> Para evitar perder registros, abra uma thread para cada registro que
> chegar, e isso vc consegue, a partir do bash 4.0, com o cmd coproc, que vc
> pode ler aprender
> aqui<https://wiki.softwarelivre.org/TWikiBar/TWikiBarBirinaite#Coprocessos>.
> Tb está em português e cheio de exemplos.
> 
> Espero que as dicas te ajudem, pois se vc está começando, o melhor é
> estudar as coisas mais importantes, pq tenho certeza que qdo vc entender o
> jeitão do shell, irá usá-lo direto, por ser uma excelente ferramenta.
> 
> Abcs,
> Julio
> *Já foi lançado "Bombando o
> Shell<http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666>
> ". *
> *Show **de interfaces gráficas sob Shell!*
> *
> *
> 
> 
> 
> Em 29 de janeiro de 2012 13:01, jairazambuja <jair@...>escreveu:
> 
> > **
> >
> >
> > Julio, não quero nada feito...
> > Como este é meu primeiro post aqui no forum não sei como postar os
> > arquivos para analise.
> >
> > Vou colocá-los aqui mesmo:
> >
> > Este script copia o log de transferencia e logo em seguida limpa ele,
> > depois chama, para cada cliente, o script que faz a comparação
> >
> > #!/bin/sh
> >
> > cat /var/log/xferlog > /comparacao/copiaxferlog
> > echo > /var/log/xferlog
> >
> > /comparacao/verificaarquivos1-9 clienteA
> > /comparacao/verificaarquivos1-9 clienteB
> > /comparacao/verificaarquivos1-9 clienteC
> > Para cada cliente uma linha
> >
> > Este é o script que faz a comparação
> >
> > #!/bin/sh
> >
> > cat /comparacao/copiaxferlog |grep "b _ i" |grep "$1" |cut
> > -f1,2,4,5,6,9,10 -d" " > /comparacao/clientes/"$1"
> >
> > test -s /comparacao/clientes/"$1"
> > if [ $? = 0 ]
> > then
> > echo "$1"
> > mail -s "Arquivo novo no FTP" arquivosftp < /comparacao/clientes/"$1"
> > fi
> >
> > É um script de iniciante, mas foi o melhor que consegui fazer. Só que,
> > devido ao grande fluxo de entrada de arquivos de ves em qunto escapa.
> >
> > []'s
> >
> > Jair
> >
> > --- Em address@hidden, "Julio C. Neves" <julio.neves@>
> > escreveu
> > >
> > > E vc quer que o pessoal da lista monte toda a rotina de recepção de ftp e
> > > envio de e-mail ou prefere que te ajudemos a corrigir o que vc já fez?
> > >
> > > Abcs,
> > > Julio
> > > *Já foi lançado "Bombando o
> > > Shell<
> > http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666
> > >
> > > ". *
> > > *Show **de interfaces gráficas sob Shell!*
> > > *
> > > *
> > > > Ola a todo.
> > > >
> > > > Depois de muita pesquisa na Internet e em todo o histórico do grupo não
> > > > encontrei nada que possa me ajudar.
> > > >
> > > > O que preciso é o seguinte:
> > > > Aqui na empresa recebemos arquivos dos clientes, em média de 400 a 500
> > por
> > > > dia, preciso monitorar meu servidor de ftp para saber qual o
> > > > usuário(cliente) que enviou o arquivo, data, hora e nome do arquivo,
> > logo a
> > > > seguir enviar um e-mail para quem administra os arquivos, comunicando
> > que o
> > > > cliente tal enviou o arquivo X.
> > > >
> > > > Atualmente faço o monitoramento do log de transferência, mas como o
> > fluxo
> > > > é muito grande as vezes escapa um o outro arquivo.
> > > >
> > > > Uso o Slackware 13 64b e o servidor de ftp é o proftp.
> > > >
> > > > Se alquém puder ajudar, desde já agradeço.
> > > >
> > > >
> > > >
> >
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]