Backup Incremental com Rsync
Publicado por Thiago Henrique Lopes (última atualização em 31/01/2019)
[ Hits: 8.718 ]
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
Enviando e-mail localmente após o backup para monitoramento
Backup Máquina do Tempo com Rsync
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (0)
O que você está ouvindo agora? [2] (183)