Backup incremental com rsync
Publicado por Eduardo Antonio Marcial Marques (última atualização em 03/09/2018)
[ Hits: 10.602 ]
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)"
Backup utilizando rsync com envio do log e informativo via e-mail
weekly-backup - backup agendado
MySQL - Script para backup automatizado
Script de backup dos hosts do Zabbix
Nenhum comentário foi encontrado.
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









