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

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

Re: [shell-script] Duvida Script para analise de arquivos por data de cr


From: Julio C. Neves
Subject: Re: [shell-script] Duvida Script para analise de arquivos por data de criação.
Date: Fri, 6 Mar 2015 07:39:45 -0300

Rodrigo,
ontem te respondi de um celular, o que não dá muito recurso. Mas estou respondendo novamente, para te chamar a atenção do material sobre o cmd if, que começa em [1] e continua em [2].

E pq respondi aqui? Pq lendo esse texto, vc verá que a dica dada pelo Robson Alexandre tb é um if disfarçado e compactado, onde o && equivale ao then e o || equivale ao else.

O bacana nesse tipo de construção é que vc pode fazer um else sem o then, o que frequentemente encolhe muito a programação. Exemplo disso é:

[ -w arquivox ] || echo Não tenho direito de gravar no arquivox

o test ([...]) com a opção -w volta verdadeiro se o usuário tiver permissão de gravação e o || é o else, ou seja, se *não* tiver permissão.

Isso tb poderia ter sido escrito assim:

[ ! -w arquivox ] && echo Não tenho direito de gravar no arquivox

Onde ! é o not, ou seja, a negação e o && é o then

Não deixe de ler o material que te passei. A leitura é divertida, fácil e cheia de exemplos e o cmd if é um dos mais importantes do Shell e seu comportamento é totalmente diferente dos ifs das outras linguagens. O nosso é muuuuuuito mais poderoso

[1] - http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo003#Comandos_Condicionais
[2] - http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo004#O_Comando_test

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
São Paulo 4Linux 23 a 27/03/15
Rio de Janeiro EDX 04 a 08/05/15
São Paulo 4Linux 03 a 07/08/15
São Paulo 4Linux 07 a 11/12/15

Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 5 de março de 2015 17:44, Robson Alexandre address@hidden [shell-script] <address@hidden> escreveu:
 

Não precisa Rodrigo,

Vc pode fazer assim

dir=/var/backups
[ "$(find $dir -mtime -1 -iname  '*.sql.bkp')" ] && bash /sbin/scripts/backup_full.sh || echo 'Já existe um backup feito nas ultimas 24 horas'

Pq não precisa do resultado número inteiro para fazer o teste do if. Só com o resultado do find já dá

--

Atenciosamente,
Robson Alexandre

Enviado de Samsung Mobile

Em 05/03/2015 17:26, "Fabiano Soares Honorato address@hidden [shell-script]" <address@hidden> escreveu:
 

Eu não sei se entendi muito bem,

mas veja se o que você quer é isso:

$(find . -mtime -1  -iname  '*.sql.bkp'| wc| awk -v var=$dir '{print var $1}')

Em 5 de março de 2015 16:14, Rodrigo Cunha address@hidden [shell-script] <address@hidden> escreveu:
 

Estou nesta etapa, já está quase pronto mas me veio um entrave.Criei a variavel dir, no entanto não consigo utilizala dentro do find na variavel aux, a lolução que fiz foi dar um cd na $dir antes de executar a linha  aux, só que achei feio.Não teria como lançar a variavel dir dentro desta linha "aux=$(find . -mtime -1  -iname  '*.sql.bkp'| wc| awk '{print $1}')" no lugar do . algo como $dir
Segue abaixo a parte do codigo que estou falando:

dir=/var/backups
cd $dir
aux=$(find . -mtime -1  -iname  '*.sql.bkp'| wc| awk '{print $1}')


Em 5 de março de 2015 15:52, 빠는 Leonardo Goretti address@hidden [shell-script] <address@hidden> escreveu:

 

tenta o -exec do find

find . -mtime -1 -iname  '*.sql.bkp') -exec echo {} \;

Em 5 de março de 2015 15:49, Rodrigo Cunha address@hidden [shell-script] <address@hidden> escreveu:
 

Vou utilizar o wc então...
find . -mtime -1  -iname  '*.sql.bkp'  |wc
Vlw meu camarada, obrigado!!!
:)

Em 5 de março de 2015 14:27, Robson Alexandre address@hidden [shell-script] <address@hidden> escreveu:
 

Rodrigo,

acho q não tem. Pesquisei por um modo/parâmetro quiet do find e não encontrei.
Acredito que vc tenha que fazer deste modo mesmo:

arquivos=$(find . -mtime -1 -iname  '*.sql.bkp')
[ "$arquivos" ] && echo Tem arquivos para backup || echo Nenhum arquivo encontrado



Atenciosamente
Robson Alexandre

Em qui, 5 de mar de 2015 às 13:52, Rodrigo Cunha address@hidden [shell-script] <address@hidden> escreveu:

 

Prezados,
estou montando um script que analisa os arquivos por data de criação.
O escopo é fazer um backup de uma base de dados, caso não existam arquivos de backup para o dia corrente.
Pensei em utilizar a linha abaixo para determinar a existencia de arquivos, no entanto gostaria de saber se existe algum output no bash, caso a pesquisa retorne sem resultados, tipo o $? que usamos para saidas de erro.
Comando de pesquisa.
find . -mtime -1  -iname  '*.sql.bkp'
Abraços!

--
Atenciosamente,
Rodrigo Silva




--
Atenciosamente,
Rodrigo da Silva Cunha




--

Leonardo Goretti
Analista de infraestrutura - GNU/LINUX mais2x.com
Instrutor GNU/LINUX
Itil V3
Celular: +55 (61)
9375 3366
Gtalk: address@hidden
----------------------------------------------





--
Atenciosamente,
Rodrigo da Silva Cunha




--

Atenciosamente,
------------------------------
---------------------------------------
Fabiano Honorato
Infraestrutura
+55 21 3523-3955
---------------------------------------------------------------------
CALANDRA SOLUÇÕES
Transformando Informações em Resultados
---------------------------------------------------------------------



reply via email to

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