Backup Incremental com rsync

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

SCRIPT

#!/bin/bash
#
# 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)”

Monitorando rede com iftop

O iftop é um programa para analisar o tráfego da rede, da internet ou de alguma vpn.

Já está empacotado na maioria das distribuições.

No OpenSuse.

# zypper install iftop

Algumas opções:

-i <interface> : Especificar uma interface.
-n : Não resolver nome.
-N : Não resolver porta.
-P : Exibir portas
-h : Ver todas opções disponíveis.

Exemplo de análise:

# iftop -nNPi eth0

Você pode analisar a tela da seguinte forma:

Host local e destino da perspectiva da placa, sendo o tráfego orientado pela seta => ou <=.

Na frente da linha com os hosts você vai ver o tráfego médio nos últimos 2,10 e 40 segundos.

O somatório fica no rodapé, sendo TX de upload e TX download  da perspectiva da interface. Ainda no rodapé você pode ver o tráfego acumulado durante a análise.