Backup com Rsync

1. Backup com Rsync

Sergio Fernando Modesto
sergiofernando

(usa Debian)

Enviado em 05/11/2014 - 15:58h

Pessoal antes de postar fiz uma pesquisa(googlei e aqui no fórum)e não obtive muito êxito.

Eu já tenho um backup full com rsync, onde eu não deleto os arquivos deletados na origem, apenas incremento. O que quero agora é que o rsync além do incremento que ele já faz, passe a fazer também a tarefa de copiar arquivos CRIADOS e MODIFICADOS no periodo de 7 dias para uma outra pasta.

Exemplo: o backup full é de 120gb com vários arquivos e pastas, que é incrementado diariamente para o diretório /home/backup, mas essa semana( segunda a sexta ) foi alterado apenas um arquivo de autocad, uma planilha do Excel e criado um bloco de notas, sendo assim eu queria que além do backup incremental feito com rsync já para pasta /home/backup fosse também feito um só com as alterações dos últimos 7 dias para a pasta /home/alteraçoessemana.



Achei isso aqui, só que queria essa funcionalidade que pedi no rsync e não em um script, tem como?




#!/bin/bash
echo "Programa de Backup Diferencial"
#Autor: Jhoni Vieceli
#Programa de criação de backup diferencial
#DATA: 04/02/2008
echo " "

dadosdif() {

SRCDIR="/home/jhoni /etc" #diretórios que serão feitos backup
DSTDIR=/mnt/extra #diretório de destino do backup
DATA=`date +%x-%k%M%S`
TIME_FIND=-720 #+xx busca arquivos criados existentes a xx minutos (arquivos que tenham mais de xx minutos)
#-xx arquivos que tenham sido criados nos últimos xx minutos
#12 horas = 720 minutos 8horas 480 minutos
TIME_DEL=+7 # dias em que permanecera o backup diferencial armazenado

#criar o arquivo dif-data.tar no diretório de destino
ARQ=$DSTDIR/dif-$DATA.tar
#data de inicio backup
DATAIN=`date +%c`
echo " Data de inicio: $DATAIN"

}

backupdif(){
sync

find $SRCDIR -type f -cmin $TMP_FIND -exec tar -rvf $ARQ {} ";"

if [ $? -eq 0 ] ; then
echo "--------------------------------------"
echo "Backup Diferencial concluído com sucesso"
DATAFIN=`date +%c`
echo "Data de termino: $DATAFIN"
echo "Backup realizado com sucesso" >> /var/log/backup_diferencial.log
echo "Criado pelo usuário: $USER" >> /var/log/backup_diferencial.log
echo "INICIO: $DATAIN" >> /var/log/backup_diferencial.log
echo "FIM: $DATAFIN" >> /var/log/backup_diferencial.log
echo "------------------------------------------------" >> /var/log/backup_diferencial.log
echo " "
echo "Log gerado em /var/log/backup_diferencial.log"

else
echo "ERRO! Backup Diferencial $DATAIN" >> /var/log/backup_diferencial.log
fi
}

procuraedestroidif(){

#apagando arquivos mais antigos (a 7 dias que existe (-cmin +2)
find $DSTDIR -name "dif*" -ctime $TIME_DEL -exec rm -f {} ";"
if [ $? -eq 0 ] ; then
echo "Arquivo de backup mais antigo eliminado com sucesso!"
else
echo "Erro durante a busca e destruição do backup antigo!"
fi
}

dadosdif
backupdif
procuraedestroidif

. ./compactar.backup #chama e roda o script de compactação de backup

exit 0


  


2. Re: Backup com Rsync

Sergio Fernando Modesto
sergiofernando

(usa Debian)

Enviado em 14/11/2014 - 08:13h

Pessoal, alguém pode me dar uma luz ai?


3. Re: Backup com Rsync

Jakson Wilker
jaksonwkr

(usa CentOS)

Enviado em 14/11/2014 - 10:30h

você pode usar +ou- a ideia do script, utiliza o find para buscar os arquivos alterados a 7 dias atrás e ai joga pro rsync sincronizar






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts