Autor Tópico: Criar servidor backup usando o rsync  (Lida 3551 vezes)

Offline LuisMP

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Criar servidor backup usando o rsync
« Online: 24 de MAR?O de 2009, 22:08 »
Foi-me proposto a criação de um servidor de backup  num trabalho da escola, mas todos os tuturias que eu encontrei ou estavam incompletos, ou tinham erros, ou eram demasiado complicados e eu percebo pouco, ou quase nada disto!
Alguem me podia ajudar!
Não sei se isto interessa, mas eu to a usar o ubuntu montado numa VirtualBox, ou coisa parecida!

Offline raidicar

  • Usuário Ubuntu
  • *
  • Mensagens: 576
  • Quad Shot of Ubuntu
    • Ver perfil
Re: Criar servidor backup usando o rsync
« Resposta #1 Online: 25 de MAR?O de 2009, 21:09 »
Seria mais fácil se você informasse mais detalhes como:
1 - Origem dos dados.
2 - Destino dos dados.
3 - como seria exatamente o backup, incremental, etc...?
4 - Esse backup rodaria de quanto em quanto tempo?
5 - Qual a estrutura, é apenas de uma pasta para outra, ou seja, uma origem e um destino ou o backup será feito em mais de um lugar?
6 - Esse backup será compactado?
etc...

Ainda assim, sem nenhum desses dados importantes que vc não postou vou tentar lhe dar um exemplo, vou montar um script para realizar um backup incremental.
Também vou perder um tempinho detalhando algumas coisas que, talvez nem seria interessante, mas como vc não informou muita coisa no seu post, vou tentar simular algumas situações.

Primeiro, o comando para backup seria:
Código: [Selecionar]
rsync -Cravzpuq origem destino- origem é a origem dos dados.
- destino é o caminho de destino, ou seja, o backup.

Agora vamos ao script.
Código: [Selecionar]
#!/bin/bash
loop=1
until [ $loop = "0" ]; do
    rsync -Cravzpuq /home/luismp/dados/* /home/luismp/backup/
    sleep 3600
done
Esse script é para fazer backup de hora em hora, isso foi definido no comando informado abaixo.
sleep 3600 = pausa de 3600 segundos. Você pode definir aqui o tempo em que o backup será executado.
variável loop=1 é utilizada para criar um laço infinito, ou seja, criando uma condição que nunca acontecerá, dessa forma, o script nunca para de rodar.
Com os parametros informados no rsync, o backup funcionará de forma incremental, ou seja, após feito o backup pela primeira vez, nas vezes seguintes apenas os arquivos alterados e os arquivos criados serão transferidos, tornando o backup mais veloz.

IMPRTANTE: a hora dos micros devem estar sincronizadas, veja bem, se no micro onde estão os dados que irão para o backup a hora for 18:00:00 e no servidor de backup a hora for 18:02:00, ou seja, dependendo do caso, a diferença de 2 mimutos pode:
1 - Não alterar o arquivo no destino, pois o arquivo de destino (no backup) pode ter data de alteração mais recente que o arquivo na origem que acabou de mexer.
2 - Ao fazer backup, dependendo de como utilizar o rsync, ao alterar um arquivo na origem, ao invéz desse arquivo ir para o destino durante o backup, é o arquivo do destino que vai para a origem, ou seja, as alterações feitas foram perdidas de forma definitiva.
Por isso, deixe todos os micros com horas iguais.

Se o destino ou a origem for um local qualquer da rede, procure montá-lo no linux, ex:
se a origem dos dados for a pasta /home/luismp/dados e o destino for um servidor na rede cujo ip seria 192.168.0.1, o caminho seria //192.168.0.1/backupgeral
faça o seguinte:
1 - instale o smbfs pelo apt-get.
2 - Em /home/luismp/ crie uma pasta com qualquer nome, ex: backup
2 - de o comando:
smbmount //192.168.0.1/backupgeral /home/luismp/backup -o username=luismp,password=senha
Em username e senha coloque o usuario e senha que tem acesso a essa pasta no servidor.
Veja que a pasta backup que acabou de criar não esta vazia pois vc montou nessa pasta a pasta backupgeral do servidor, ou seja, a pasta backup é a pasta backupgeral do servidor montada no linux.

Agora, o comando para fazer backup pelo rsync seria:
rsync -Cravzpuq /home/luismp/dados/* /home/luismp/backup/
Assim, os dados dentro de /home/luismp/dados/ vão para /home/luismp/backup/ e a pasta /home/luismp/backup é na verdade o caminho de rede //192.168.0.1/backupgeral e é lá onde o backup estará sendo salvo.

Qualquer duvida, pergunte, mas sempre informe todo o quadro, pois tópicos assim é dificil de responder, as vezes, falando por mim, se não me chamoui a atenção, nem perco tempo com tópicos do tipo:
Citar
instalei o linux e aparece um erro, alguém pode me ajudar:
A resposta mais sensata seria: Procure a Mãe Diná, mas não podemos ser grossos assim, então, deixo de lado.
A pessoa nem informa o erro, ai é dose né. Seu tópico segue mais ou menos a mesma linha, vc quer um servidor de backup. OK, legal, backup do que? que tipo? de onde vem os dados? pra onde vão os dados? Backup diario? semanal? mensal? como serão tratados os dados? serão compactados para ocupar espaço?
Como seu caso é um trabalho de escola, monte a estrutura com o que postei acima, pois creio que o que precisa esta ai.
Pense em como deve funcionar o backup e aplique o que foi postado.
Para uma ajuda mais especifica, precisa ter a resposta dos questionamentos que fiz.

Boa sorte.
« Última modificação: 25 de MAR?O de 2009, 21:45 por raidicar »
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

Offline LuisMP

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Re: Criar servidor backup usando o rsync
« Resposta #2 Online: 26 de MAR?O de 2009, 12:27 »
Apesar da pouca informação que dei, serviu a 100%

Obrigado  :) :)