Backup incremental com rsync

Publicado por Eduardo Antonio Marcial Marques (última atualização em 03/09/2018)

[ Hits: 362 ]

Homepage: www.valedolinux.com.br

Download 1533941815993117181198.jpg




O programa rsync é um utilitário de cópia muito utilizado para fazer backups, ele aceita diversos parâmetros como uso de chaves, manipulação de parâmetros, cópias diferenciais e incrementais.

Abaixo vou deixar um pequeno bashscripts de backup incremental.

Frisando que no backup incremental o local que recebe a cópia completa sempre fica atualizada e o que é mudado é adicionado na pasta de "incrementais".

Exemplo:

ANTES DO RSYNC

Origem:
/DADOS/word.doc     13 kb

Destino:
/BKPFULL/DADOS/word.doc    13 kb

DEPOIS DO RSYNC COM MUDANÇA NA ORIGEM NO DIA 01/01/2022

Origem:
/DADOS/word.doc     124 kb

Destino:
/BKPFULL/DADOS/word.doc    124kb
/BKP_INCR/01-01-2022/DADOS/word.doc    13 kb

  



Esconder código-fonte

#!/bin/bash
#
# www.valedolinux.com.br
# Autor: Eduardo Marcial
# Data: 2018
# Backup Incremental
#
##################################################################################

##################################################################################
# DECLARAÇÃO DE VARIÁVEIS


DATA=$(date +%F)      #Carimbo de data aaaa-mm-dd
ORIGEM="/home/setores"
COMPLETO="/mnt_hdext/backup-incremental/FULL"
DESTINO="/mnt_hdext/backup-incremental/$DATA"
PASTLOG="/mnt_hdext/backup-incremental/log"   
LOG="$PASTLOG/log-$DATA"    #Log do backup
UUID_HD_USB=""

##################################################################################
# CHECA MONTAGEM DO HD EXTERNO

CHECK_MOUNTED=$(mount |grep -w \/mnt_hdext|tail -1|wc -l)
if [ "${CHECK_MOUNTED}" = "0" ]; then
 mount /dev/sdb1 /mnt_hdext 2>> ${LOG}
        if [ $? -gt 0 ]; then
         echo -e "\n ERRO AO MONTAR HD-EXTERNO USB UUID="${UUID_HD_USB}"." >> $LOG
                exit 1
        else
                echo -e "\n OK - HD-EXTERNO USB MONTADO COM SUCESSO" >> $LOG;
        fi
        
fi
##################################################################################
# CRIA DIRETORIOS E ARQUIVOS

if [ ! -d ${DESTINO} ]; then
        mkdir -p ${DESTINO}
fi

if [ ! -d ${COMPLETO} ]; then
        mkdir -p ${COMPLETO}
fi

if [ ! -d ${PASTLOG} ]; then
        mkdir -p ${PASTLOG}
fi

touch $LOG

##################################################################################
# Inicio de bkp

echo "Inicio de backup $(date)" >> $LOG


##################################################################################
# REALIZAR BKP

sudo rsync -azbvP --exclude='TEMP' --delete --backup-dir=$DESTINO $ORIGEM $COMPLETO 2>> $LOG

##################################################################################
# SE NÃO HOUVE ERRO NO BACKUP FAZ LIMPEZA - 60 DIAS 

if [ "$?" -eq 0 ]; then
 find $DESTINO -maxdepth 1 -mtime +60 -exec rm -rf {} \; 2>> $LOG
else
 echo "Erro ao realizar backup incremental. $DATA" >> $LOG
fi

echo "Fim de backup $(date)"

Scripts recomendados

Backup Ubiquiti com usuários e senhas SSH diferentes

Backup de logs do sistema

Fazendo backup durante a semana em pastas distintas, equivalentes ao dia da semana

Backup e envio do arquivo + md5sum para o FTP da escolha do usuário

Backups automáticos de rádios Intelbras APC5


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts