Backup Incremental com Rsync
Publicado por Thiago Henrique Lopes (última atualização em 31/01/2019)
[ Hits: 8.914 ]
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
DriveTool.sh: um script para cópia rápida e segura de arquivos para unidades flash USB
Backup Database MySQL Automatizado
Shell Script para gravar iso de xbox 360 para LT 3.0 burnisolt3
Backup de diretórios do sistema Linux
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Colocando hotcorner no COSMIC para exibir "workspaces"
Usando o Dolphin para checar hashes de arquivos
Contorno de BUG do "color picker" para COSMIC Desktop









