lazlo:~# touch arq1; sleep 2; touch arq2 lazlo:~# if [ arq1 -nt arq2 ]; then echo ARQ1 eh mais novo; else echo ARQ2 eh mais novo; fi ARQ2 eh mais novo lazlo:~# if [ arq1 -ot arq2 ]; then echo ARQ1 eh mais novo; else echo ARQ2 eh mais novo; fi ARQ1 eh mais novo
atenção no "-nt" (Newer Than) out "-ot" (Older Than). -- Flávio do Carmo Junior aka waKKu #bash-br @ irc.freenode.net 2008/6/4 Rafael Nery <[EMAIL PROTECTED]>: > 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 > > [EMAIL PROTECTED] > [EMAIL PROTECTED] > 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] > >
