Script de shell verifica se o arquivo existe?

3

Eu escrevi um script de backup simples que faz backup de minhas coisas em um servidor remoto, tudo está funcionando muito bem, mas gostaria de ter algum tipo de relatório como "backup bem-sucedido ou não".

este é o meu script

# backup CHECK
date1='date +"%d.%m.%y - %H.%M"'
host='hostname'
twdate='date +"%d.%m"'
performtw='ls -la|grep "tw"|grep "$twdate" > tmp1.txt'
echo $performtw
if
cat tmp1.txt|grep "tw"
then
echo backup successfull
printf "tw backup success!" | mail -s "tw backup check $date1 repor$
rm tmp1.txt
else
echo backup failure
printf "sitename backup failure!" | mail -s "site backup check $date1 repor$
rm tmp1.txt
fi
exit

Mas isso não está funcionando muito bem e eu pergunto se existe alguma maneira mais simples e mais poderosa de fazer isso? Basicamente, ele só precisa verificar se o arquivo existe com o nome começando xyz e foi criado na data xyz.

    
por tamani 30.11.2014 / 14:23

1 resposta

6

Você pode usar uma boa execução condicional para ver se o arquivo existe ou não ...

[ -f tmp1.txt ] && echo "Found" || echo "Not found"

Como alternativa, você pode usar o comando find com o -newer flag ...

find /some/dir -type f -newer $startdate -not -newer $enddate
    
por 30.11.2014 / 15:30