Backup com Rsync

wal

Rsync é um programa de transferência de arquivos para sistemas UNIX. Ele utiliza um algoritmo de sincronização que permite que apenas as partes alteradas dos arquivos sejam transferidas pelo link, poupando a banda do link e tornando a sincronização rápida.

[ Hits: 199.273 ]

Por: Waltair Santos em 08/04/2008


Observações gerais



1) Comandos importantes:

Checa quais os compartilhamentos rsync no servidor, e quais seus nomes:

# rsync 192.168.1.53::
teste           diretório de testes
www             diretório sites web
backup          diretório backups diversos (mysql)

Conecta ao compartilhamento e lista os arquivos que estão lá:

# rsync 192.168.1.53::www
drwxr-xr-x        4096 2008/03/15 13:49:40 .
-rw-r--r--          14 2008/02/24 16:59:36 index.html
-rw-r--r--          16 2008/01/31 22:52:39 phpinfo.php
drwxr-xr-x        4096 2008/01/31 22:41:30 apache2-default
drwxr-xr-x        4096 2008/03/15 11:31:28 ldap
drwxr-xr-x        4096 2008/03/15 14:04:38 phpmyadmin
drwxr-xr-x        4096 2008/03/15 11:50:33 site1

# rsync 192.168.1.53::backup
drwxr-xr-x        1024 2008/03/15 14:19:24 .
drwxr-xr-x        1024 2008/03/15 14:19:24 2008-Mar-15

Conecta ao compartilhamento e lista os arquivos que estão lá, porém aumentando a verbosidade:

# rsync -av 192.168.1.53::www
(a saída deste comando foi enorme por isso não coloquei aqui, coloquei somente o início e o fim)

receiving file list ... done
drwxr-xr-x        4096 2008/03/15 13:49:40 .
-rw-r--r--          14 2008/02/24 16:59:36 index.html
-rw-r--r--          16 2008/01/31 22:52:39 phpinfo.php
...........................
...........................
sent 79 bytes  received 14567 bytes  29292.00 bytes/sec
total size is 8321667  speedup is 568.19

Para transferir um arquivo:

# rsync -vr 192.168.1.53::backup .
receiving file list ... done
2008-Mar-15/
2008-Mar-15/mysql2008-Mar-15.tar.gz

sent 95 bytes  received 95361 bytes  63637.33 bytes/sec
total size is 95189  speedup is 1.00

De um cliente Rsync, baixar um diretório inteiro; preservando as permissões de arquivo (-p, -o, -g = preserva as permissões, propriedade e grupo); Outras opções: -z = comprime dados, -r = recursivo, faz a transferência recursivamente. Se quisermos usar todos os parâmetros juntos utilize a opção -a (engloba -r, -l, -p, -t, -g, -o, -D).

Note que quando não existe o usuário/grupo ele mantém o uid e gid do servidor.

# rsync -zrogpv 192.168.1.53::backup
receiving file list ... done
2008-Mar-15/
2008-Mar-15/mysql2008-Mar-15.tar.gz

Para deletar arquivos (deletados no servidor) automaticamente utilize o comando; Se não utilizar isto os arquivos vão se acumulando no cliente. Isso pode ser desconsiderado se você quiser manter os arquivos deletados somente no cliente (servidor responsável por baixar os arquivos do servidor).

# rsync -zrogpv --delete 192.168.1.53::backup .

A opção acima é interessante para ser usada em um servidor cluster, pois você vai querer que seus arquivos estejam iguais nos dois servidores.

Opções adicionais:

--backup
Ele executa o rsync e adiciona um sufixo no final do arquivo; para podermos selecionar qualquer outro sufixo, basta utilizarmos o parâmetro: --suffix=

Executando um backup simples:

# rsync -zrogpv --backup 192.168.1.53::backup .

Adicionando um sufixo default, para isto o arquivo deve ser alterado no servidor:

# rsync -zrogpv --backup --suffix=.old 192.168.1.53::backup .

Página anterior    

Páginas do artigo
   1. Descrição do serviço
   2. Instalação Rsync
   3. Mão na massa parte 1 - realizando as configurações nos servidores envolvidos
   4. Mão na massa parte 2 - realizando as configurações nos servidores envolvidos
   5. Mão na massa parte 3 - realizando as configurações nos servidores envolvidos
   6. Observações gerais
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando o Beryl + Drivers NVIDIA no Ubuntu 6.10 (Edgy)

Live Helper - Crie um Live-CD/DVD Debian CD/DVD

Instalando e configurando um sistema RAID 1 no Debian Lenny

Como configurar um servidor de FTP de forma simples e com host virtual

DNS e DNS reverso rapidamente no Linux

  
Comentários
[1] Comentário enviado por y2h4ck em 08/04/2008 - 13:43h

Fala Wal tudo jóia ?? Antes de tudo parabéns pelo Artigo, e é claro que se eu estou aqui comentando boa coisa é que não é ? (rsrs).

Bom só passei para falar que a solução de backup via Rsync apesar de ser muito rápida e realmente muito legal é extremamente insegura pois o servidor rsync não tem nenhum controle de quem vai conectar e fazer o sincronismo remoto dos dados disponíveis. Ou seja qualquer um que ache o servidor rsync rodando e tenha o rsync-client instalando pode fazer download dos arquivos que estão sendo oferecidos.

Já vi muita gente fazendo backup pela rede de todo o unix pelo rsync de forma indiscriminada, permitindo que qualquer um pudesse baixar arquivos como /etc/passwd, /etc/shadow entre outros.

Quer utilizar o rsync ?? Ótimo... porém pelo menos configure um TCP Wrapper em /etc/hosts.allow dizendo quais hosts podem conectar no serviço de Rsync :)

Isso evita dores de cabeça.

[]s

[2] Comentário enviado por wal em 17/04/2008 - 20:46h

Caro y2h4ck!! Tudo certo por aqui!!!

O objetivo deste artigo é ensinar o Rsync e não falar sobre segurança!
E as opções do próprio Rsync (se vc for curioso) e ler o help, protege o servidor muito bem, não é necessário a utilização do TCP Wrapper.
A segurança está na preparação de todo o ambiente e todo bom profissional sempre o faz de forma SEGURA.
Tenho o Rsync fazendo backup de todos meus servidores (78) que administro emm um cliente e é perfeito e seguro.

T+


[3] Comentário enviado por silent-man em 01/12/2008 - 20:34h

Ótimo artigo!
Agora, como faço pra startar o rsync ?
=)

[4] Comentário enviado por waltair em 01/12/2008 - 21:45h

Caro colega!

O rsync não é um daemon, o backup ou sincronização é realizado através de um script ou simplesmente executando o comando abaixo na mão:
$rsync -av --backup --backup-dir=/etc/ 192.168.1.683::samba

Espero ter esclarecido a dúvida.

Abraços

[5] Comentário enviado por silent-man em 03/12/2008 - 09:26h

Blza dr, porém não obtive nenhum sucesso. Veja.

# rsync -av --backup --backup-dir=/root/ 192.168.254.5::www
rsync: failed to connect to 192.168.254.5: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]

[6] Comentário enviado por wal em 08/12/2008 - 20:40h

Caro colega!

O seu problema não é com o rsync, está dando conexão recusada.
Você viu seus logs? Pesquisou o erro no google?

Boa sorte
T+

[7] Comentário enviado por willianmdefaria em 03/12/2012 - 15:52h

Tem permissão de conectar? (talvez não, vc está tentando jogar no /root, não lembro de cabeça as permissões dessa pasta)
Problemas de Rede?
Da uma checada nisso, o Rsync funciona perfeitamente nessas condições


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts