Backup incremental com rsync
Publicado por Eduardo Antonio Marcial Marques (última atualização em 03/09/2018)
[ Hits: 9.775 ]
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)"
Criptografando arquivos para enviar pra sua nuvem
Backup Ubiquiti com usuários e senhas SSH diferentes
Script de backup de usuários do sistema
Backup Máquina do Tempo com Rsync
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (6)