Backup Incremental com Rsync
Publicado por Thiago Henrique Lopes (última atualização em 31/01/2019)
[ Hits: 6.831 ]
Homepage: https://github.com/Th14go
Backup utilizando a ferramenta de linha de comando rsync.
O rsync utiliza o protocolo remote-update, o que aumenta assustadoramente sua velocidade e diminui a quantidade de dados transferidos, pois são trocados entre os servidores somente as diferenças entre dois grupos de arquivos. Existem dois métodos para executar o backup rsync, uma forma segura no destino no fstab ou inseguro, apresentarei as duas formas.
Dependências:
# apt - get install cifs - utils --- para suporte ao cifs
Verificar suporte montagem cifs:
# cat /proc/filesystems | grep cifs
nodev cifs (resultado se tiver suporte)
Criar diretório:
# mkdir /mnt/backup
Editar FSTAB:
# nano /etc/fstab
Forma insegura:
//10.9.1.100/backup /mnt/backup cifs username=user,password=senha,user,dir_mode=0777,file_mode=0777 0 0
Desta forma fica visível no fstab sua senha do computador da rede de destino do backup;
Forma segura:
# cd /
# nano .pwdrsync.txt
username=usuario
password=suasenha
chmod 600 .pwdrsync.txt
//10.9.1.100/backup /mnt/backup cifs credentials=/.pwdrsync.txt,user,dir_mode=0777,file_mode=0777 0 0
Para confirmar se deu tudo certo, montar as unidades:
# mount -a
-> montar todas unidades.. Deverá aparecer a unidade montada com o destino remoto.
Execução do script, lembrando de alterar as variáveis!
#!/bin/bash #Backup Criado por: Thiago Henrique Lopes #GitHub - https://github.com/Th14go/rsync-incremental #Monta Caminho Backup mount /mnt/backup # PEGA DATA ATUAL, DIA,MES,ANO, HORA,MINUTO,SEGUNDOS, PARA ARQUIVOS DE LOG DATA=`date +%x-%k%M%S` esp=`df -h /mnt/backup` # LOCAL PARA ARMAZENAR ARQUIVOS DE LOG LOG=/var/log/rsync/log-$DATA.txt # LOCAL ORIGEM PARA BACKUP ORIGEM=/home/user/backup/ # LOCAL DESTINO PARA BACKUP DESTINO=/mnt/backup/ echo " " >> $LOG echo " " >> $LOG echo "| ----------------------------------------------" >> $LOG echo " Sincronizacao iniciada em $DATA" >> $LOG # EXECUTA SCRIPT rsync --backup --backup-dir=$DATA -ravz --no-perms --no-owner --no-group $ORIGEM $DESTINO >>$LOG echo " Sincronizacao Finalizada em $DATA " >> $LOG echo "| -----------------------------------------------" >> $LOG echo " " >> $LOG echo " " >> $LOG #Verifica Espaço Disponivel em Destino echo "-----------------------------------------------------">> $LOG echo " Espaço em Disco $esp" >> $LOG echo "-----------------------------------------------------">> $LOG # ENVIA LOG LOCAL PARA DESTINO REMOTO DE LOG cp -r /var/log/rsync/ mnt/backup #Desmonta Caminho Backup umount /mnt/backup
Backup de diretórios do sistema Linux
Fazendo backup durante a semana em pastas distintas, equivalentes ao dia da semana
Limpeza dos dados do rConfig (ferramenta open-source de gerenciamento de configuração
Lisa - sistema de backup com rsync
Nenhum comentário foi encontrado.
Rodando um aplicativo em modo Kiosk no Ubuntu Linux 20.04
Instalação do Gentoo em HD Externo para dual boot com Windows
Instalação do OCS Inventory (última versão, 2.9.2 - 2022) no Debian 11
VOIP - Interceptando tráfego de pacotes
Sistemas de proteção de acesso a dados do seu HD, será efetivo?
Arduino IDE não reconhece portas USB no Ubuntu 22.04
Passando parâmetros do cliente SSH para o GIT
Auto indentar linhas selecionadas no Vim
Som estourado ou falhando na Steam com Proton
Habilitando a compilação JIT (Just In Time) para o PHP8 no Ubuntu
Liberação de IP de celular. (4)
Google é um dos piores buscadores para termos menos conhecidos (2)