Sistema de backup com rsyncd

Com este artigo mostrarei como implementar um sistema de backup em sua rede utilizando o rsync para realizar a sincronização de arquivos entre cliente(s) e servidor.

[ Hits: 94.580 ]

Por: Carlos Marcelo Morgado Rêgo em 18/11/2004


Introdução



"Fazer backup e ter certeza de que ele funciona é uma das coisas mais importantes que podem ser feitas para proteger os dados armazenados em um servidor. Geralmente não se pode prever acidentes, ataques, desastres e outros tipos de eventos que irão prejudicar os dados ou o próprio hardware. Quanto ao hardware, podemos consertar, utilizar outra máquina ou mesmo receber outra do seguro, ou seja, é algo que tem preço, pode ser comprado. Já os dados e arquivos dos usuários na maioria das vezes são insubstituíveis, podendo representar anos de trabalho, e a sua perda é algo que pode parar uma empresa ou ao menos afetar muito o andamento dos processos. Aí está a importância de existir um backup recente que possa ser restaurado no caso de qualquer incidente.

A estratégia de backup adotada nesta seção é simples e barata. Temos uma segunda máquina, que será o servidor de backup, conectada via rede ao servidor do qual será feito o backup, que será denominado cliente de backup. O backup será feito no disco rígido do servidor de backup. O programa utilizado será o rsync, cuja finalidade é prover um sistema de transferência de arquivos rápido e incremental. No primeiro backup o rsync irá copiar todos os arquivos para a máquina destino. Após isso, em cada backup ele irá apenas atualizar os arquivos que estão no backup, sincronizando-os com os originais. Desta forma são transferidos pela rede apenas as diferenças entre os arquivos original e backup, tornando o processo mais rápido. A página do rsync é rsync.samba.org."

Heini Thomas Geib.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Servidor de backup
   3. Cliente de backup
   4. Bibliografia
Outros artigos deste autor

Escondendo banners de serviços

Como instalar um servidor de Counter-Strike

Leitura recomendada

Apache 2 + mod_perl 2.0.1

Transações Financeiras (Warsaw vs User Agent Overrider) - Itaú Bankline 30 horas

Bind com suporte a sdb/PostgreSQL

Failover de Internet

LimeWire - um P2P muito interessante para Linux

  
Comentários
[1] Comentário enviado por jpfaria em 18/11/2004 - 11:23h

OPa marcelo, tome cuidado com os nomes dos arquivos.. uma hora vc diz que eh rsynd.conf e outra hora vc diz que é rsync.conf isso pode confundir usuários iniciantes.

[]'s

[2] Comentário enviado por cmarcelo em 18/11/2004 - 12:57h

Com certeza João Paulo,
Este pequeno erro eu realmente não notei em minhas revisões.

PARA TODOS, ALTERAR:
No ítem 2.3
"Os arquivos /etc/rsync.conf e /etc/rsync.secrets DEVERÃO ter permissão 600."
É /etc/rsyncd.conf e não /etc/rsync.conf

Desculpem-me

Carlos Marcelo

[3] Comentário enviado por dangelo em 18/11/2004 - 15:13h

Marcelo

O artigo esta muito bem escrito, parabens.

Tenho uma pergunta e uma sugestão.

Primeiro a pergunta, qual a vantagem de fazer esta configuração ao invés de usar o rsync com ssh que pra mim parece bem mais simples?

E a sugestão, para quem precisa manter versões dos arquivos alterados, uma dica é usar o rdiff-backup.

[4] Comentário enviado por armandogozarem em 19/11/2004 - 17:33h

Pessoal tó com umas dificuldades, eu acho que alguem poderia me ajudar...

Fiz o script na máquina do backup, mas ela nao consegue se loga automaticamente no servidor do backup. Tá pedindo senha, para funcionar tenho que por a senha, o processo não tá sendo automatico!!

o que será que está errado?

/usr/bin/rsync -pavR --delete --password-file=/etc/rsync.pass /etc adm-armando@192.168.1.10:

[5] Comentário enviado por fabio em 19/11/2004 - 18:13h

Armando,

Dê uma lida no artigo abaixo, ele serve como bom complemento para esse aqui. Autenticando por chaves do SSH faz com que seu rsync execute sem pedir senha também.

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1084

[]'s

[6] Comentário enviado por cmarcelo em 20/11/2004 - 02:41h

Armando,

Há um pequeno erro ao indicar o server:

"/usr/bin/rsync -pavR --delete --password-file=/etc/rsync.pass /etc adm-armando@192.168.1.10:"

Alterar "adm-armando@192.168.1.10:" para "<usuario>@<server>::<modulo>/"

Deverá funcionar,

Carlos Marcelo

[7] Comentário enviado por armandogozarem em 22/11/2004 - 10:47h

ok faltava o nome do módulo mas quando aplico o comando:

"/usr/bin/rsync -pavR --delete --password-file=/etc/rsync.pass /etc adm-armando@192.168.1.10::backup/" , veja só o erro que ocorre:

@ERROR: auth failed on module backup
rsync: connection unexpectedly closed (89 bytes read so far)
rsync error: error in rsync protocol d#

Pareçe alguma configuração no servidor que não ativo os módulos.

Configuração do Servidor

# /etc/rsyncd.conf
#

# Usuário sob o qual o rsync irá rodar
uid=root

# Grupo sob o qual o rsync irá rodar
gid=root

# Arquivo de log
log file = /var/log/rsyncd.log

hosts allow = 192.168.1.10

# Módulo para backup
[backup]
path = /backup
auth users = adm-armando
secrets file = /etc/rsyncd.secrets
read only = true
list = false
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
ata stream (code 12) at io.c(150)

e o arquivo

#
# /etc/rsync.secrets
#

# Usuários e senhas que se conectarão ao servidor
# Formato:
# <usuario>:<senha>
adm-armando:teste



[8] Comentário enviado por juglenijr em 05/04/2005 - 17:23h

Pessoal instalei com o artigo informa e esta dando erro:

/etc/rc.d/rc.rsync: line 24: unexpected EOF while looking for matching `"'
/etc/rc.d/rc.rsync: line 26: syntax error: unexpected end of file

Estou utilizando o Fedora Core 3 com o Kernel 2.6.10
Instalei o rsync pelo apt-get

O que esta acontecendo?

Notei que no diretorio .../xinetd.d/ tem um arquivo rsync com o conteudo:

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
# RSYNC_ENABLE=true
# RSYNC_OPTS='--config=/etc/rsyncd.conf --port=873'
}

esta 2 estruçoes comentadas foi eu que coloquei mais nao funfa..

mais eu criei o arquivo rc.rsync no rc.d como informa o artigo..

Abraço

[9] Comentário enviado por juglenijr em 05/04/2005 - 17:47h

Com a ajuda de uns amigos encontramos a falta de uma ASPA no codigo rc.rsyncd

#!/bin/bash
#
# /etc/rc.d/rc.rsyncd
#

# Executável do rsync
RSYNC="/usr/bin/rsync"
# Opções de inicialização
RSYNC_OPTS="--config=/etc/rsyncd.conf --port=873"


case $1 in
start)
$RSYNC --daemon $RSYNC_OPTS
;;
stop)
killall rsync
;;
restart)
killall rsync
$RSYNC --daemon $RSYNC_OPTS
;;
*)
echo "Use: /etc/rc.d/rc.rsync {start|stop|restart}" ############## Aqui
esac

Esta esta correto agora

[10] Comentário enviado por juglenijr em 05/04/2005 - 19:09h

pessoal agora nao estou conseguindo usar o script do cliente, esta dando erro:

@ERROR: auth failed on module servidor-softcomp
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)
@ERROR: auth failed on module servidor-softcomp
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)
@ERROR: auth failed on module servidor-softcomp
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)

Fim do backup - Ter Abr 5 15:03:53 BRT 2005

Portugues ###################
falha ao autenticar no módulo servidor-softcomp conecção fechada inesperadamente ( recebidos 0 bytes)
erro na transmissão de dados do protocolo do rsync (código 12) em io.c(359)
###################

Acho estranho porque ele informa que o bkp finalizou

[11] Comentário enviado por crcorrea em 18/05/2006 - 15:04h

Nao descobre o motivo do erro descrito abaixo?
alguem teve este problema :

Inicio do backup - Thu May 18 14:57:27 BRT 2006
@ERROR: access denied to XXXXX from XXXX.operacao.xx(200.200.1004.00)
rsync: connection unexpectedly closed (85 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
Fim do backup - Thu May 18 14:57:28 BRT 2006

[12] Comentário enviado por rockstore6 em 19/07/2007 - 10:17h

muito bom gostei mas eu queria saber também c dar pra fazer back do sistema mesmo todinho saca do linux

[13] Comentário enviado por andromeda em 24/10/2007 - 10:14h

Muito bom mesmo!!!! Você manda muito bem Marcelo!!!!!
Aprendi muito nesse artigo!!!!

[]'s

[14] Comentário enviado por jeffr2 em 11/03/2014 - 13:24h

ressucitando o topico, alguem me ajude por favor.. o rsyncd.secrets é obrigatorio? nao ha uma forma do sistema utilizar o root por padrao?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts