Pular para o conteúdo

Comparar dois diretorios e retornar msg [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Comparar dois diretorios e retornar msg [RESOLVIDO]

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

Responder tópico

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

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]

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]

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]

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

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

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder