Vamos começar pelo mais fácil que é configurar o cliente:
P/ instalar o rsync (normalmente já vem instalado)
yum install rsync.x86_64
p/ rsync funcionar tem que instalar o pacote xinetd
yum install xinetd.x86_64
bom instalado os dois pacotes temos que criar dois arquivos em /etc:
rsync.conf e rsyncd.secrets
dentro de rsyncd.conf vamos colocar as seguintes linhas:
uid=root
gid=root
log file = /var/log/rsync.log
host allow = (ip do servidor de backup)
# Compartilhamento que o servidor de bkp vai enxergar p/ fazer o Backup. Você pode criar quantos compartilhamentos forem necessários. [compartilhamento]
#Caminho do diretório do compartilhamento, onde irá ser feito o bkp
path = caminho do diretório
#Usuário que vai ser usado pelo rsync
auth users = usuário
#arquivo onde tem usuário e senha
secrets file = /etc/rsyncd.secrets
#indica que o servidor de backup poderá gravar no cliente, isso é útil em caso de restore
read only = false
rsyncd.secrets
#Nesse arquivo você coloca somente o usuário e a senha
usuário:senha
Esses dois arquivos tem que ter a permissão 600
A configuração do cliente está pronta. Agora vamos p/ mais complicado que é o servidor.
A parte fácil é instalar
p/ instalar o BackupPc é só dar o comando:
yum install BackupPc.noarch
Se não instalar junto o apache, instale manual, você irá precisar dele:
yum install httpd
pronto estão instalado.
O primeiro passo é criar um usuário no apache.
htpasswd -c /etc/BackupPC/apache.users usuário
Abra o firefox e digite http://localhost/BackupPC
digite o usuário e senha que vc criou no apache.
Se deu tudo certo deve abrir a tela do BackupPC.
Nas configurações nós precisamos mexer eu poucos parâmetros. A configuração original ele vai fazer um backup Completo por semana e o resto incremental. Eu deixei Padrão.
Vou optar por passar as configurações no arquivo texto.
Vá em: /etc/BackupPC
Edite o arquivo hosts
vi hosts
na ultima linha vc vai acrescentar o(s) cliente(s)
na primeira coluna => Nome do host
Segunda coluna => se é ip fixo (0) ou dhcp (1)
terceira coluna => usuário (no meu caso criei um usuario chamado backup)
quarta coluna => mais usuário (opcional)
salve e feche o arquivo.
entre no diretório PC/
digite: vi
dentro do arquivo coloque as seguintes linhas:
#Aqui você coloca os compartilhamento que foram criados no cliente em rsync.conf
$Conf{RsyncShareName} = [
'compartilhamento1', 'compartilhamento2'
];
#Nesses campos coloque o usuário e a senha que estão no cliente no arquivo rsyncd.secrets
$Conf{RsyncdPasswd} = 'senha';
$Conf{RsyncdUserName} = 'usuário';
Salve e feche o arquivo.
Lembrete: tem que se criar um arquivo p/ cada cliente, ou seja tem 3 clientes? Os três tem que estar lista no arquivo hosts e no diretório pc tem que ter cliente1.pl, cliente2.pl, cliente3.pl.
volte ao diretório BackupPC
cd ..
edite o arquivo config.pl
vi config.pl
nesse arquivo vou listar somente os paramentros que modifiquei.
O resto deixei padrão.
$Conf{ServerHost} = 'nome do servidor de backup';
#Nessa Opção você seleciona aonde que quer que guarde os arquivo de Backup
$Conf{TopDir} = 'Caminho do armazenamento de backup';
#Arquivos que você quer que faça backup. Nesse caso está configurado todos os arquivos do compartilhamento. Existe a opção $conf{BackupFilesExclude} que vc indica os arquivo que não quer fazer backup. Lembrando que Backup Files Only tem prioridade sobre o comando BackupFilesExclude.
$Conf{BackupFilesOnly} = {'compartilhamento1' => [' '],
'compartilhamento2' => [' ']
};
#Horário que o BackupPC NÃO vai rodar o backup de jeito nenhum, normalmente vc coloca o horário de expediente
$Conf{BlackoutPeriods}
#Método usado p/ fazer a transferência de arquivo, no nosso caso será rsyncd. Se o cliente for Win use o método smb (que requer ajustes na configuração)
$Conf}XferMethod} = 'rsyncd';
#Nesse parametro coloque os compartilhamento que está criado no rsync.conf no cliente
$Conf{RsyncShareName} = [
'Compartilhamento1',
' ',
'compartilhamento2',
' ',
];
#coloque nas opção abaixo o usuário e senha que está no rsynd.secrets no cliente
$conf{RsyncdUserName} = 'usuário';
$conf{RsyncdPasswd} = 'senha';
#Nessa linha escolhe que tipo de compactação quer no arquivo de Backup. Quanto maior a compactação, mas demorado é o backup. No meu caso escolhi o bzip2 que é a compactação máxima. Tem a opção de deixar sem compactar também.
$Conf{ArchiveComp} = 'bzip2';
#deixar a interface em Português Brasileiro
$conf{Language} = 'pt_br';
Bm é isso, o BackupPC é uma ferramenta poderosa e tem muitos mais recursos do que eu listei aqui. Minha intenção foi só ajudar quem precisa configurar o servidor de backup de forma rápida.
Depois com calma vá lendo e aprimorando.
Quem quiser complementar faça um comentário que sempre será bem-vindo.
Data 10/03/2011
Estava instalando o BackupPC em um novo servidor e me deparei com seguinte erro na hora que iniciava o serviço:
Starting BackupPC: 2011-03-10 09:43:18 Can't create a test hardlink between a file in /backup/pc and /backup/cpool. Either these are different file systems, or this file system doesn't support hardlinks, or these directories don't exist, or there is a permissions problem, or the file system is out of inodes or full. Use df, df -i, and ls -ld to check each of these possibilities. Quitting...
[FALHOU]
a solução desse erro é criar de forma manual as pastas
cpool e pc
essas pastas devem ser criadas no mesmo diretório onde vai ser guardado os arquivo de backup e estar indicada na opção $Conf{TopDir} e o dono e grupo destas pastas devem ser backuppc.
chown backuppc.backuppc cpool/
chown backuppc.backuppc pc/
Outro erro que aconteceu foi iniciar o BackupPC sem as opções de edita hosts, editar configurações etc.
isso foi solucionado especificando na opção
$Conf{CgiAdminUsers} o nome do usuário administrador (note que esse usuário tem que ser o mesmo que você cadastrou no servidor apache) e na opção $Conf{CgiAdminUsersGroup} o grupo que vai administrar. ficou assim:
$Conf{CgiAdminUsers} = 'nome do usuário';
$Conf{CgiAdminUsersGroup} = 'backuppc';
novas dificuldades vou postando.
Bom dia. Cara me diz uma coisa, temos instalado aqui o backup pc mas ele perdeu a configuração de um dos servidores q fazia backup, ele diz q nunca fez backup dele. Só que os arquivos estão lá. Sabe me dizer o que está acontecendo? Sabe me dizer como posso restaurar um arquivo pela linha de comando? Meu e-mail é perjac@me.com Durbem.
ResponderExcluirOla Mauro, parabens pela dica.
ResponderExcluirEstou com um problema no Backuppc se você puder ajudar te agradeço imensamente.
Quero colocar um novo hd de maior capacidade para receber o backup do Backuppc. Como eu consigo fazer com que ele reconhece e grave nesse novo hd.
Desde ja obrigado.
você quer substituir o HD?
Excluirou acrescentar? se for acrescentar eu realmente não sei como te ajudar. só se for por LVM.
agora se você quer substituir faz o seguinte:
formata o hd e cria um diretório. por exemplo Backup
no parametro TopDir coloca o nome do diretório onde o backup vai ser armazenado.
como disse anteriormente não sei se pode colocar mais de um diretório no TopDir.
abraços
Ola Mauro,
ResponderExcluirNo Conf{TopDir} eu posso colocar um caminho de rede? tipo \\192.168.0.2
Não pode.
Excluirvocê tem que montar o compartilhamento na máquina
se for linux com nfs se for windows monta um compartilhamento com uma letra de unidade
:-(
ResponderExcluirObrigado pela resposta Mauro.
Abraço!
Como fazer funcionar as exclusoes de arquivos para compartilhamentos windows, coloco mais empre acaba fazendo o backup.
ResponderExcluirsegue exemplos de Exclusão.
ExcluirExamples:
$Conf{BackupFilesExclude} = '/temp';
$Conf{BackupFilesExclude} = ['/temp']; # same as first example
$Conf{BackupFilesExclude} = ['/temp', '/winnt/tmp'];
$Conf{BackupFilesExclude} = {
'c' => ['/temp', '/winnt/tmp'], # these are for 'c' share
'd' => ['/junk', '/dont_back_this_up'], # these are for 'd' share
};
$Conf{BackupFilesExclude} = {
'c' => ['/temp', '/winnt/tmp'], # these are for 'c' share
'*' => ['/junk', '/dont_back_this_up'], # these are for other shares
};
Para eu te ajudar mais preciso ver seu arquivo de config.