Backup incremental com rsync
Publicado por Eduardo Antonio Marcial Marques (última atualização em 03/09/2018)
[ Hits: 9.638 ]
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 Database MySQL Automatizado
Backup de uma base MYSQL específica.
Backup Ubiquiti com usuários e senhas SSH diferentes
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta