O objetivo dessa dica é ajudar a instalar e configurar o BackupPC no Fedora 12 e fazer backup de um cliente linux (no meu caso FC 12 também) com método Rsyncd.
Vamos começar pelo mais fácil que é configurar o cliente:
P/ instalar o rsync (normalmente já vem instalado)
yum install rsync.x86_64p/ rsync funcionar tem que instalar o pacote xinetd
yum install xinetd.x86_64bom 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 bkppath = caminho do diretório
#Usuário que vai ser usado pelo rsyncauth users = usuário
#arquivo onde tem usuário e senhasecrets file = /etc/rsyncd.secrets
#indica que o servidor de backup poderá gravar no cliente, isso é útil em caso de restoreread only = false
rsyncd.secrets
#Nesse arquivo você coloca somente o usuário e a senhausuá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.noarchSe não instalar junto o apache, instale manual, você irá precisar dele:
yum install httpdpronto estão instalado.
O primeiro passo é criar um usuário no apache.
htpasswd -c /etc/BackupPC/apache.users usuárioAbra 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 hostsna 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 nome_do_cliente.pldentro 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.plnesse 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/2011Estava 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.