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

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

Re: [shell-script] Como comparar um novo arquivo


From: MrBiTS
Subject: Re: [shell-script] Como comparar um novo arquivo
Date: Wed, 04 Jun 2008 11:42:39 -0300
User-agent: Thunderbird 2.0.0.14 (X11/20080505)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Rafael Nery wrote:
|
|
| Olá!
| Preciso criar um script para comparar a data do arquivo e se ele for mais
| novo enviar um email.
| São 2 arquivos:
| linux1 e linux2
| Só não estou conseguindo achar um meio de fazer isso com o if.
| Alguém te alguma solução para a condição if?
| Eu fiz um que compara 1 dia atrás e vários arq.:
|
| #!/bin/bash
|
| SENDER=origem@...
| EMAIL=destino@...
| VAR=`(date -d "1 days ago" +%Y%m%d)`
| cd /backup
| for ARQ in `ls *.tgz`
| do
| ARQ=`echo $ARQ | cut -f1 -d'.'`
| if [ "$VAR" -lt "$ARQ" ]
| then
| /usr/sbin/sendmail -f$SENDER $EMAIL <<EOF
| from: arquivos de backup <$SENDER>
| To: $MAIL
| Subject: Arquvivos de backup
| Existe arquivos com data anterior a 1 dias
|
| EOF
|
| else
| echo "Não existe arquivos com data anterior a 1 dias."
| fi
| done
|
| [As partes desta mensagem que não continham texto foram removidas]

Você está comparando banana com macaco.

$ VAR=`(date -d "1 days ago" +%Y%m%d)`
$ echo $VAR
20080603

$ for ARQ in $(ls *.tar*) ; do ARQ=`echo $ARQ | cut -f1 -d'.'` ; echo $ARQ ; 
done
GnomeThemes
slax-6

Como você quer comparar se 20080603 é menor que GnomeThemes ?

Ao invés de fazer esse malabarismo todo, use -nt ou -ot do test. nt = Newer 
than ( Mais novo que ) e ot = Older Than ( Mais velho que )

if [ $ARQ1 -ot $ARQ2 ] ; then echo Arquivo 1 mais velho que arquivo 2 ; fi


- --

Um abraço

.0. MrBiTs - address@hidden
..0 GnuPG  - 
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIRqnfrDdxWm3R8YYRAryPAJ9HxZJDi4qbYHCJKg1tpQRs9cVJ+ACfbj49
JKTnCJSg+B2webHtxI1NKgg=
=e7+w
-----END PGP SIGNATURE-----


reply via email to

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