Backup Incremental Shell Script

5 views
Skip to first unread message

Cristiano Hugo

unread,
Aug 21, 2007, 7:55:11 AM8/21/07
to Maillist Pollon
Buenas!

Tenho um script de backup rodando, porém gostaria que ele fosse Incremental, que gere o backup somente dos arquivos alterados nas últimas 24 horas. Quais alterações devem ser feitas no script?

#!/bin/bash

#Declaração de Variáveis###########################################################################
#Variáveis para criação de Dietórios de armazenamento dos Backups###################################
echo " "
echo " ================================================================================"
echo " =====> Script de Backup Incremental Diário e Semanal e Backup Full Mensal <====="
echo " =====>          Script Criado por Marcel Guariglia de Oliveira            <====="
echo " =====>                    mguar...@gmail.com                            <====="
echo " =====>           Qualquer Dúvida ou Opnião entrar em contato              <====="
echo " ================================================================================"
echo " "
bkp=/backup
ano=`date +%G`
mes=`date +%b`
mdia=`date +%u`
  case $mdia in
   1) dia=segunda ;;
   2) dia=terça ;;
   3) dia=quarta ;;
   4) dia=quinta ;;
   5) dia=sexta ;;
   6) dia=sábado ;;
   7) dia=domingo ;;
  esac
#
#
#Variável dos diretórios à serem Backupeados#######################################################
diretorios="/dados/*"
#
#
#
#Inicio da Criação de Diretórios###################################################################
if test -d $bkp ; then
    cd $bkp
    else
    mkdir $bkp
    echo `date`" ===> Diretório $bkp Criado com Sucesso" >> $bkp/backup.log
    cd $bkp
fi
if test -d $ano ; then
cd $ano
    if test -d $mes ; then
    cd $mes
        if test -d $dia ; then
        cd $dia
        else
        mkdir $dia
        echo `date`" ===> Diretório $dia Criado com Sucesso" >> $bkp/backup.log
        cd $dia
        fi
    else
    mkdir $mes
    echo `date`" ===> Diretório $mes Criado com Sucesso" >> $bkp/backup.log
    cd $mes
        if test -d $dia ; then
        cd $dia
        else
        mkdir $dia
        echo `date`" ===> Diretório $dia Criado com Sucesso" >> $bkp/backup.log
        cd $dia
        fi
    fi
else
mkdir $ano
echo `date`" ===> Diretório $ano Criado com Sucesso" >> $bkp/backup.log
cd $ano
mkdir $mes
echo `date`" ===> Diretório $mes Criado com Sucesso" >> $bkp/backup.log
cd $mes
mkdir $dia
echo `date`" ===> Diretório $dia Criado com Sucesso" >> $bkp/backup.log
cd $dia
fi
#Fim da Criação de Dietórios#####################################################################
#Inicio da Criação do Backup Full################################################################
#O Backup Full é a copia de todo o conteúdo dos diretórios
#a serem backupeados.
if [ $mdia -eq 7 ] ; then
exit 0
    else
    if [ $mdia -eq 6 ] ; then
    exit 0
else
echo "Hoje é $dia `date +%d-%m-%Y_%H:%M` ===> Dia de Backup Diário" >> $bkp/backup.log
sleep 2
echo `date`" ===> Backup Dados Inicializado" >> $bkp/backup.log
    find $diretorios -ctime -1 > $bkp/bkpdados.txt
    tar -zcpPmvf $bkp/$ano/$mes/$dia/BKPDados_`date +%d-%m-%Y_%H:%M`.tar.gz -T $bkp/bkpdados.txt >> $bkp/$ano/$mes/$dia/BKPDados_`date +%d-%m-%Y_%H:%M`.log
echo `date`" ===> Backup Dados Finalizado" >> $bkp/backup.log
echo " "
echo " ================================================================================"
echo " "`date`" Log para verificação posterior $bkp/backup.log"
echo " ================================================================================"
echo " "
fi
#Fim da criação do backup diário###############################################################################
fi
#fim do script de backup#######################################################################################

--
Cristiano Hugo Luz

Reply all
Reply to author
Forward
0 new messages