Backup incremental com rsync
Publicado por Eduardo Antonio Marcial Marques (última atualização em 03/09/2018)
[ Hits: 10.573 ]
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)"
Shell Script para gravar iso de xbox 360 para LT 3.0 burnisolt3
Script de backup dos hosts do Zabbix
Backup e envio do arquivo + md5sum para o FTP da escolha do usuário
Backup de MySql para outro servidor FTP!
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (12)
Problema com som no laptop (5)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









