Comparar dois diretorios e retornar msg [RESOLVIDO]

1. Comparar dois diretorios e retornar msg [RESOLVIDO]

frederico augusto coelho
fredericoac

(usa Suse)

Enviado em 24/08/2009 - 17:15h

Pessoal, estou quase finalizando um script meu, falta apenas um detalhe.
Quero comparar o tamanho de dois diretorios, ex:
diretorio1 = /vm
diretorio2 = /backup

Caso o diretorio /backup seja MENOR que o /vm me retornar uma mensagem "/backup e menor que origem" para o arquivo /var/log/bkperror.log

Estou tentando conforme abaixo, mais não está dando certo

# pegar tamanho do arquivo
arqtam=$(du /vm/ | awk '{print $1}')
# comparar se maior que o diretorio backup
if [ $arqtam -gt /backup ]; then
echo >> /var/log/bkperror.log " origem maior que o limite do /backup"
exit 1
else
echo " tamanho OK, iniciando backup..."
# comandos para iniciar o backup...
fi


  


2. Re: Comparar dois diretorios e retornar msg [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 24/08/2009 - 17:38h

Cara vc chegou bem perto, eu faria assim:

A sintaxe do arqtam esta errada, e falta um comando, o tail, ficando assim:

arqtam=`du /vm |tail -1 |awk '{print $1}'`
backup=`du /backup |tail -1 |awk '{print $1}'`

# e agora a comparação.

if [ $arqtam -gt $backup ];then
echo >> /var/log/bkperror.log " origem maior que o limite do /backup"
else
echo "tamanho OK, iniciando backup..."
fi


só verifique se a ordem de menor e maior esta correta, q eu não testei isso e não to conseguindo ver de cabeça.

ABS
Nélio






3. Re: Comparar dois diretorios e retornar msg [RESOLVIDO]

frederico augusto coelho
fredericoac

(usa Suse)

Enviado em 24/08/2009 - 17:50h

falae Nelio!
Cara, o negócio ta quereno...
agora não da erro quando executo, mais sempre quando rodo ele, ele me diz que o diretorio /vm é maior que o /backup
no meu cenário, isso é falso!



4. Re: Comparar dois diretorios e retornar msg [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 24/08/2009 - 18:07h

Opa, então vamos lá, ver se a gente mata isso.

seguinte, de duas, uma.

ou inverte a ordem do if que esta:
if [ $arqtam -gt $backup ];
para
if [ $backup -gt $arqtam ];

ou inverte a procura de -gt para -lt, não sei ao certo o significado mas acredito que seja abreviação de greater than e less than, maior que e menor que respectivamente, assim:

if [ $arqtam -lt $backup ];

se não funcionar posta ai novamente, que eu faço este script em um linux para ver como esta rodando.


5. Re: Comparar dois diretorios e retornar msg [RESOLVIDO]

frederico augusto coelho
fredericoac

(usa Suse)

Enviado em 24/08/2009 - 18:28h

Aeee Nélio!
Valeu pela força ae irmaozim!!
Abraços!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts