Backup incremental com rsync
Publicado por Eduardo Antonio Marcial Marques (última atualização em 03/09/2018)
[ Hits: 10.508 ]
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
#!/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)"
Script Backup com Log e envio por Email
Configuração de backup com rsync sem senha
Criptografando arquivos para enviar pra sua nuvem
Shell Script para gravar iso de xbox 360 para LT 3.0 burnisolt3
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









