Backup Incremental com Rsync
Publicado por Thiago Henrique Lopes (última atualização em 31/01/2019)
[ Hits: 8.560 ]
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 e envio do arquivo + md5sum para o FTP da escolha do usuário
Shell Script para gravar iso de xbox 360 para LT 3.0 burnisolt3
Backup utilizando rsync com envio do log e informativo via e-mail
Backup de arquivos e banco de dados com envio de e-mail
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? (8)