Modelo Backup de arquivos full

20/04/2012 13:52
Modelo backup full:

#!/bin/bash

#montagem da origem do backup (monte se necessario)
umount /mnt/home_backup
mount -t cifs //IP_DO_SRV/DIRETORIO_COMPARTILHAMENTO /mnt/DIRETORIO_DE_ORIGEM_DO_BACKUP -o username=USUARIO_DO_COMPARTILHAMENTO,password=SENHA_DO_COMPARTILHAMENTO,uid=1000,gid=1000,umask=000,iocharset=utf8

#dando permissão ao diretorio de destino do backup

chmod -R 2777 /diretorio_de_destino_do_backup

dadosfull()
{
    #DIRETORIO DE DESTINO DO BACKUP
    DSTDIR=/diretorio_de_destino_do_backup
    
    #DIRETORIO DE ORIGEM DO BACKUP
    SRCDIR=/mnt/DIRETORIO_DE_ORIGEM_DO_BACKUP

    #PEGA DATA ATUAL
    DATA=`date +%F`

    #NUMERO DE DIAS EM QUE SERA DELETADO O BACKUP
    TIME_BKCP=+15

    #CRIA O ARQUIVO DE BACKUP NO DIRETORIO DE DESTINO
    ARQ=$DSTDIR/full_home_$DATA.tar.gz

    #DATA DE INICIO DO BACKUP
    DATAIN=`date +%c`
}

backupfull()
{
    sync
    tar -czvf $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
    find $DSTDIR -name "f*" -ctime $TIME_BKCP -exec rm -f {} ";"
    if [ $? -eq 0 ] ; then
        echo "Arquivo de backup mais antigo eliminado com sucesso!" >> /var/log/backup_full.log
    
    else
        echo "Erro durante a busca e destruição do backup antigo!" >> /var/log/backup_full.log
    fi
}

dadosfull
backupfull
procuraedestroifull

exit 0

 

#desmonta unidades
umount /mnt/DIRETORIO_DE_ORIGEM_DO_BACKUP