Pessoal ainda estou com o probleam do script não deletar os arquivos mais
antigos.
#!/bin/bash
echo "Programa de backup full"
#Autor: Jhoni Vieceli
#Programa de criação de backup full
#DATA: 04/02/2008
echo " "
dadosfull() {
cd /mnt
mount //192.168.0.5/Backup-ccbsist /mnt/srv-pdc1/ -o
username=teste,password=xxxxxxxxxxxxxxxx
SRCDIR=/opt/sistccb #diretórios que serão feito backup
DSTDIR=/mnt/srv-pdc1 #diretrio de destino do backup
DATA=`date +%d-%m-%y` #pega data atual
TIME_BKCP=+7 #número de dias em que será deletado o arquivo de backup
#criar o arquivo full-data.tar no diretório de destino
ARQ=$DSTDIR/full-$DATA.tar.gz
#data de inicio backup
DATAIN=`date +%c`
echo "Data de inicio: $DATAIN"
}
backupfull(){
sync
tar -czf $ARQ $SRCDIR
if [ $? -eq 0 ] ; then
echo "----------------------------------------"
echo "Backup Full concluído com Sucesso"
DATAFIN=`date +%c`
echo "Data de termino: $DATAFIN"
echo "Backup realizado com sucesso" >> /var/log/backup_full.log
echo "Criado pelo usuário: $USER" >> /var/log/backup_full.log
echo "INICIO: $DATAIN" >> /var/log/backup_full.log
echo "FIM: $DATAFIN" >> /var/log/backup_full.log
echo "-----------------------------------------" >>
/var/log/backup_full.log
echo " "
echo "Log gerado em /var/log/backup_full.log"
else
echo "ERRO! Backup do dia $DATAIN" >> /var/log/backup_full.log
fi
}
procuraedestroifull(){
#apagando arquivos mais antigos (a mais de 20 dias que existe)
find $DSTDIR -type f -name full\* -ctime +$(($TIME_BKCP-1)) -exec rm -f {} ";"
if [ $? -eq 0 ] ; then
echo "Arquivo de backup mais antigo eliminado com sucesso!"
else
echo "Erro durante a busca e destruição do backup antigo!"
fi
}
dadosfull
backupfull
procuraedestroifull
umount srv-pdc1
exit 0
Onde pode esta o erro para que não delete o arquivo mais velho no caso o sétimo
arquivo?
Alguém por favor poderia verificar dizer o que fazer.
Obrigado
José Valdir da Gama
Sumare- SP
Cel (19) 8226-2638
Em 29 de março de 2014 01:11, Paulo Bettega <address@hidden
<mailto:address@hidden>> escreveu:
__
Deve ser isso mesmo, o nome fica com um espaço antes da hora se a hora só
tiver um dígito.
Eu prefiro usar esse comando date, é melhor para ordenar os arquivos.
date +%F_%T|tr : -
O tr é necessário só se tiver que abrir os arquivos no windows.
Abraços Paulo Bettega
On 29-03-2014 09:44, address@hidden <mailto:address@hidden> wrote:
> É apenas um palpite, mas experimente trocar "%k" por "%H"
>
> O %k coloca um espaço para complementar antes de informar as horas, e se
a variável DATA não
estiver
> devidamente protegida por aspas em uso posterior, pode caracterizar como
um novo argumento.
> E isso pode simplesmente estar provocando um erro que aborta a execução.
>
> Abraços
> Itamar
>