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

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

Re: [shell-script] Script para Backup e deletar o backup programado em d


From: Julio C. Neves
Subject: Re: [shell-script] Script para Backup e deletar o backup programado em dias
Date: Thu, 27 Mar 2014 23:01:53 -0300

Ainda bem que não deleta o anterior! Pq olhando rapidamente, este script me pareceu furado. Se o backup der erro, ele dá a msg "Erro durante a busca e destruição do backup antigo" e nadia mas ou mais nada (estou praticando para a Copa ;). Ele deveria dar o erro e abortar, mas ele dá o erro e vai tentar deletar o backup anterior, para te deixar com as calças na mão. ;P

Para deletar, eu faria o find da seguinte maneira:
find $DSTDIR -type f -name full\* -ctime +$(($TIME_BKCP-1)) -exec rm -f {} ";"

-type f - para evitar remover um diretório
rm -r - perde essa mania! Não tem necessidade disso para remover só um arquivo e é perigoso demais!
Aquilo que fiz no ctime é pq vc mandava deletar todos criados há 7 dias e eu mando deletar os criados há mais de 6.

Aprenda Shell, é uma tremenda ferramenta. Sushellso!

Abcs,
Julio
@juliobash

Próximos cursos de Shell

Cidade

Local

Período

Rio de Janeiro

EDX

07-11/04

Dou treinamento de shell em qualquer cidade.
Para detalhes, entre em contato por email ou
echo 436233889341364416673541503686485725801923229706P | dc 



Em 27 de março de 2014 22:20, Jose Valdir Gama <address@hidden> escreveu:
 

Senhores,  venho pedi ajuda com um script  que já usando para fazer backup, este Script já esta muito tempo na Net  e como ele é fácil de entender para um leigo como eu  shell script ele da para o gasto.


#Jhoni Vieceli
#!/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=xxxxxxxx
SRCDIR=/opt/sistccb #diretórios que serão feito backup
DSTDIR=/mnt/srv-pdc1 #diretrio de destino do backup
DATA="" +%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 -name "full*" -ctime $TIME_BKCP -exec rm -rf {} ";"
    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


Qual é o problema do script, eu não esta deletando o  backup mais antigo neste caso o sétimo  backup.

O que falta para este script ficar 100%?

Abraço


José Valdir da Gama
Sumare- SP
Cel (19) 8226-2638



reply via email to

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