Instalando e configurando o BackupPC

Caso esteja procurando uma solução para fazer um backup rápido e de fácil restauração, utilize esta ferramenta, pois ela traz uma consigo uma grande facilidade e também bastante eficiência na hora de restaurar os arquivos perdidos.

[ Hits: 120.259 ]

Por: Danilo Lopes Rogério em 15/08/2008 | Blog: https://www.linkedin.com/in/danilo-rogério-8b1398104


Tentando facilitar as coisas



Tentando facilitar o processo de adicionar hosts acabei criando um script para fazer a troca de chaves do SSH e alimentar o arquivo "hosts". O pré-requisito para usar este script é já ter gerado as chaves publicas no servidor de backup.

O script deve ser rodado com o usuário "backuppc", os caminhos citados no script estão adequados para este tutorial. As linhas estão comentadas para facilitar a modificação por parte de quem quiser adotá-lo como ferramenta. Abaixo segue o código criado.

DICA: Este script faz perguntas sobre caminhos de arquivos de configuração. Essa solução foi feita para que o script se adeque a qualquer usuário que deseje entender o código, mas recomendo que vocês fixem os valores dos caminhos para o caso de cada um. Assim obterão maior velocidade na hora rodar o script.

Um exemplo é o caminho do arquivo hosts, ao invés de preencher toda vez, edite o script e coloque logo o caminho literal onde o arquivo de encontra.

Confesso também que não sou muito bom em shell script, portando caso tenham correções ou sugestões de melhorias postem aí!

Script

#!/bin/bash
######################################################
#########VERIFICANDO O USUÁRIO########################
######################################################
idbackuppc=`id -u backuppc`
whoami=`id -u `

if [ $whoami != $idbackuppc ] ; then
echo "Favor executar este script com o usuário backuppc!"
exit 1
fi

#####################################################
### SOLICITANDO O CAMINHO DO ARQUIVO "hosts"(da instalação do
### backuppc) CASO SE ENCONTRE EM OUTRO LOCAL
#####################################################
HOSTFILE="/etc/BackupPC/hosts"
echo -n "Digite o caminho do arquivo "hosts" do BackupPC, o padrão será: [/etc/BackupPC/hosts]=>"
read hostfile2

if [ "$hostfile2" != "" ] ; then
HOSTFILE=""
HOSTFILE=$hostfile2
fi

###RECOLHENDO INFORMAÇÃO SOBRE O CLIENTE A SER FEITO BACKUP
nhost=""
if [ -z $nhost ] ; then
echo -n "Nome do servidor cliente (Lembre que o nome sera inserido no arquivo hosts )=>"
read nhost
fi
###CONVERTENDO CARACTERES PARA MINUSCULO
newhost=`echo $nhost| tr A-Z a-z `

###VERIFICANDO SE O CLIENTE RESPONDE SOLICITACÃO DE PING
ping -c 1 $newhost >/dev/null

###CASO A RESPOSTA SEJA NEGATIVA O ERRO SERA EXIBIDO
if [ $? != 0 ] ; then
echo "Servidor cliente não encontrado! Verifique erros de digitação ou problemas de comunicação"
exit 0
fi

###VERIFICANDO SE O SERVIDOR CLIENTE JÁ ESTA CADASTRADO
repete=`grep -i "$newhost" $HOSTFILE`
if [ "$repete" != "" ] ; then
echo -n "Nome do servidor cliente já cadastrado no arquivo hosts!"
echo
exit 0
fi


###RECOLHENDO INFORMAÇÃO SOBRE O SERVIDO PRINCIPAL DE BACKUP
nserver=""
if [ -z $nserver ] ; then
echo -n "Nome do servidor principal de Backup=>"
read nserver
fi

###CONVERTENDO CARACTERES PARA MINUSCULO
newserver=`echo $nserver| tr A-Z a-z `

###VERIFICANDO SE O CLIENTE RESPONDE SOLICITACÃO DE PING
ping -c 1 $newserver >/dev/null

###CASO A RESPOSTA SEJA NEGATIVA O ERRO SERA EXIBIDO
if [ $? != 0 ] ; then
echo "Servidor principal de Backup não encontrado! Verifique erros de digitação ou problemas de comunicação"
exit 0
fi

###########################################################
###CRIANDO CHAVES DE CONFIANÇA PARA O SSH SER DIRETO#######
###########################################################
/usr/bin/scp -pC /home/backuppc/.ssh/id_rsa.pub root@$newhost:/tmp/

/usr/bin/ssh root@$newhost "sed -i -e '/$newserver/d' /root/.ssh/authorized_keys; cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys;rm -f /tmp/id_rsa.pub "

############################################################
###INSERINDO INFORMAÇÃO NO ARQUIVO HOSTS ESPECIFICADO ######
############################################################
echo -e "$newhost\t0\tbackuppc" >>$HOSTFILE

exit 0

Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalando o BackupPC
   3. Ajustando tudo
   4. Utilizando a ferramenta
   5. Adicionando clientes
   6. Backup e restore
   7. Tentando facilitar as coisas
Outros artigos deste autor

Instalando a ferramenta CACTI

Instalando o serviço de monitoramento Nagios

Leitura recomendada

Segurança da Informação na Internet

Aprenda a capturar a página inicial de seus usuários

Prey Project - Localizando seu notebook roubado

Instalação do Fail2Ban no CentOS 7

Tomcat + SSL: HOW-TO

  
Comentários
[1] Comentário enviado por ronilson em 14/09/2008 - 14:11h

Também uso o backuppc, para que toda a configuração seja feita pela interface CGI verifique essas linhas na config.pl
$Conf{CgiUserConfigEditEnable} = '1'; Para deixa a interface de configuração acessivel.
$Conf{CgiUserConfigEdit} O que pode ser modificado pela interface, 1 para ligado e 0 para desligado.
$Conf{CgiAdminUsers} = 'backuppc'; Essa acho que já diz tudo.
com o htpasswd crie um arquivo com o usuário backuppc e senha, coloque o auth no apache e pronto.
Irei preparar um documento de como iniciar e programar backups por linha de comando, me quebra maior galho.
Abrço

[2] Comentário enviado por amthees em 18/02/2009 - 11:52h

Preciso de uma dica:
Com tudo funcionando perfeitamente, tenho um repositório de backup no servidor. Por segurança, faço um backup DE TUDO para um HD externo (via USB), entretanto, de 7 em 7 dias é feito um backup completo que eu gostaria de gravar em DVDs. Pergunto: quais os arquivos devo gravar uma vez que eles estão "espalhados" por vários diretórios?

[3] Comentário enviado por ronilson em 03/03/2009 - 19:51h

Guarde o dir /var/lib/BackupPC/pc/, segundo a documentação é ai que estão todos os arquivos de controle e backup.

[4] Comentário enviado por iguimar em 06/04/2009 - 11:51h

Excelente artigo. Muito bem explicado/elaborado. Parabéns.


[5] Comentário enviado por mhagnumdw em 03/05/2009 - 02:05h

Olá.
Caso eu queira programar pra que meus backups sempre rodem às 23h de todos os dias, como pode ser feito?
Ótimo artigo e a ferramenta parece ser muito boa, estou testando.
Obrigado.

[6] Comentário enviado por danilo.roger em 04/05/2009 - 17:05h

Na linha de comando fica assim:

$Conf{BlackoutPeriods} = [
{
hourBegin => 1.0,
hourEnd => 23.0,
weekDays => [1, 2, 3, 4, 5, 6 ,7],
},
];

Aí em cima quer dizer:
Ficar sem fazer backup de 01 da manhâ até as 23 (de segunda até domingo), entre este intervalo o software vai fazer o backup.
Deixe esse intervalo que no caso é de 2 horas pois ser tiver muito tráfego de rede, poderá parar antes do tempo.

Essa configuração esta no arquivo config.pl em "/etc/BackupPC/config.pl"

[7] Comentário enviado por mhagnumdw em 10/05/2009 - 21:56h

Estou usando o BackupPC, mas ainda em testes. Notei algo estranho.
Atualmente uso o Cobian para backup.

O backuppc no momento está com 1 backup full realizado e 4 incr.
No momento ambos os programas, backuppc e cobian estão fazendo backup dos mesmos arquivos.
Hoje restaurei o último backup do backuppc e o comparei com o backup feito pelo cobian. O backup do backuppc apresenta arquivos que já foram deletados, bem como deixa de apresentar arquivos que estão existindo. Já o backup do Cobian está perfeito.

Eu tenho certeza que os backups deveriam ser idênticos, pois o último backup de ambos os programas foi feito de madrugada e com certeza não tinha ninguém usando os arquivos. Pra comparar as duas pastas de backup eu usei o Beyond Compare.

O que pode ser esse problema?

Obrigado.

[8] Comentário enviado por mhagnumdw em 14/05/2009 - 18:58h

Pra quem estiver com o mesmo problema que apresentei acima, aqui explica o porque do problema:
http://www.backupcentral.com/phpBB2/two-way-mirrors-of-external-mailing-lists-3/backuppc-21/excludin...

[9] Comentário enviado por elderbezerra em 21/09/2009 - 09:24h

Bom dia pessoal,

Gostei do tutorial. Estou seguindo pois tenho uma apresentação de backup de windows em linux na faculdade e estou querendo fazer nesta ferramenta. A apresentação é para o proximo dia 02 de outubro, então já estou quebrando minha cabeça. Fiz o seguite, segui o tutorial linha por linha, porém quando vou fazer http://localhost/backup apresenta o erro 404 not found " The requested URL /backuppc was not found on this server.
__________________________________________________________________________________________________________________

Apache/2.2.13 (Fedora) Server at localhost Port 80.

Quem puder me ajudar, serei extremamente grato.

[10] Comentário enviado por danilo.roger em 21/09/2009 - 11:22h

Ok, no tutorial digo que o conf do backuppc deve ser:

<Directory /usr/share/BackupPC/sbin/>
   Order deny,allow
   Allow from all
</Directory>

Alias           /BackupPC/html /usr/share/BackupPC/html/
ScriptAlias     /backuppc /usr/share/BackupPC/sbin/BackupPC_Admin


Se segui este exemplo você deverá solicitar o endereço:
http://localhost/backuppc

e não http://localhost/backup

Caso não seja isto, verifique também nos log do apache se ele está ok.

Me dê retorno sobre outros erros que possam acontecer.

[11] Comentário enviado por nunomagalhaes em 12/07/2012 - 12:28h

Eu tenho o cpanel instalado. Não sei se fiz bem em seguir os passos para instalar o BackupPC por este tutorial que está muito bem elaborado.

Isto porque no WHM tenho uma forma automática de instalar que utilizei-a inicialmente mas faltavam as dependencias

Assim segui os passos para instala-las por aqui, mas não consegui fazer com o yum install porque os repositórios definidos por este aplicativo não deixam. nem sequer pelo próprio aplicativo. Tive que pesquisar pelo pacote no cpan adquiri-los, descompactar e fazer perl Makefile.PL, make, make test, make install

conseguido isto segui os passos e instalei com sucesso o BackupPC, um pormenor e daí a minha dúvida inicial: com as configurações do apache certas de acordo com este tutorial quando acedo ao browser dá-me o erro 404

...


[12] Comentário enviado por danilo.roger em 14/07/2012 - 22:27h

Desculpa a demora, mas como você deve saber o erro 404 refere-se a algo não encontrado e acaba sendo muito "genérico" para descobrirmos de imediato onde o problema que está acontecendo. Peço que procure se este aplicativo possui a possibilidade de visualização dos "logs" assim poderemos saber melhor o que se passa no exato momento que o erro ocorre. Coloque os trechos do log aqui no vol ou me mande por e-mail, talvez eu possa ajudar.

[13] Comentário enviado por flaviog em 08/09/2012 - 10:01h

Excelente post, parabens!

Gostaria de saber o seguinte.

Se eu colocar um novo hd, como eu devo deixar a estrutura nesse hd e como faço para que o backuppc reconheça ele como o novo local de efetuar os backups?

Desde ja muito obrigado.

[14] Comentário enviado por wagner.kochhann em 28/10/2013 - 11:20h

Sou iniciante no linux, achei a ferramenta interessante e estou tentando configurar. Porém tenho o seguinte erro e não estou conseguindo resolver, quando acesso no browser recebo a seguinte mensagem:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

Se alguém puder me ajudar agradeço...

[15] Comentário enviado por danilo.roger em 28/10/2013 - 17:31h

Olá Wagner, recomendo você verificar como estão as permissões do arquivo "BackupPC_Admin" . Dependendo de como foi a instalação base da sua distribuição, talvez você esteja precisando do pacote "perl-CGI". O artigo está bem desatualizado, mas caso queira saber mais da ferramenta sugiro a documentação oficial. Quaisquer dúvidas basta postar no site. Lembre de sempre postar trechos chaves das saídas de log, eles ajudam muito. Até mais!

[16] Comentário enviado por brigamont em 01/02/2017 - 12:47h

BackupPC

Cenário
Pasta Compartilhada: Deptos
Caminho da Pasta: /dados/deptos
Servidor Local (FileServer): 192.168.0.10
Servidor de Backup (BackupPC): 192.168.0.20

Backup via RSYNCD Servidores Linux

No Servidor Local (FileServer), servidor cujo qual será backupeado.

Crie o usuário backuppc, assim como é criado no servidor de BackupPC

# useradd backuppc

# passwd backuppc

Edite o arquivo /etc/rsyncd.conf e adicione o conteúdo abaixo, altere os campos conforme sua necessidade.

# vi /etc/rsyncd.conf

[Deptos]
path = /dados/deptos
comment = Pastas Departamentais
read only = yes
list = yes
uid = root
gid = root
auth users = backuppc
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.0.20
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
max connections = 2
log file = /var/log/rsyncd.log

Agora crie/edite o arquivo /etc/rsyncd.secrets, e adicione o usuário e senha backuppc.

# vi /etc/rsyncd.secrets

backuppc:backuppc

Agora configure o Login Automatico no SSH
Durante o processo de backup através do rsyncd o servidor de backup precisará acessar o servidor cliente, por isso é importante permitir que o Servidor de Backup se conecte automaticamente no servidor cliente, atraves do procedimento abaixo.

Por garantia, eu realizei o processos nos dois usuários, ROOT e BACKUPPC.

Criando a chave pública no cliente (Servidor Local (FileServer): 192.168.0.10)

Faça login com usuário backuppc no Servidor Local (FileServer): 192.168.0.10, na linha de comando digite:

$ ssh-keygen -t rsa

***NÃO PREENCHA NADA, APENAS DÊ ENTER

Você verá a seguinte resposta:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_dsa):
Dê ENTER sem digitar nada
Enter passphrase (empty for no passphrase):
Dê ENTER sem digitar nada
Enter same passphrase again:
Dê ENTER sem digitar nada
Your identification has been saved in /home/usuario/.ssh/id_dsa.
Your public key has been saved in /home/usuario/.ssh/id_dsa.pub.
The key fingerprint is:
01:e0:d4:57:44:a5:5d:7c:f3:ed:bb:0d:fc:cb:2d:eb usuario@cliente
The key's randomart image is:
+--[ DSA 1024]----+
| oo. ++.... |
| o ... o ....|
| . .. . . .+|
| . o|
| S . |
| . .|
| o .|
| o+o|
| .E**|
+-----------------+

Feito isso, você criou uma chave pública e esse arquivo ~/.ssh/id_dsa.pub pode ser enviado para o servidor ao qual você deseja se conectar que, quando você tentar fazer login, ele irá ler o arquivo e te identificar, permitindo o login automático.

Enviando a sua chave pública para o servidor

Você pode usar sFTP (FTP via SSH) ou SCP para enviar a chave pública para o servidor, veja um exemplo utilizando SCP:

$ scp ~/.ssh/id_dsa.pub 192.168.0.20:/home/backuppc/.ssh/

Feito isso, você precisa habilitar a chave pública.

Habilitando a sua chave pública no servidor

Faça login com o usuário backuppc via SSH no Servidor de Backup (BackupPC): 192.168.0.20, e execute os seguintes comandos:

$ cd ~/.ssh/

$ cat id_dsa.pub >> authorized_keys

$ chmod 644 authorized_keys

Se o arquivo authorized_keys já existir, você pode criar o authorized_keys2 ou authorized_keys3.

Feito isso, é so você deslogar do servidor e, da próxima vez que você tentar fazer o login [via SSH] já entrará automaticamente, sem digitar a senha.

Por garantia, repita o procedimento com o usuário root.

Agora no web console do BackupPC adicione o Servidor Local (FileServer): 192.168.0.10, e adicione as regras de backup, em Transferencia, selecione o XferMethod: rsyncd.
Em RsyncShareName, adicione a sessão de backup, igual a(s) criada(s) no arquivo /etc/rsyncd.conf
RsyncShareName: Deptos

Agora tente rodar um backup completo manualmente.

Esse é o básico, o BacckupPC é muito POBRE de suporte na internet, principalmente em portugues, levei cerca de 4 dias até conseguir realizar o backup.
No meu caso eu utilizo um Servidor de Arquivos utilizando SAMBA4 com ACLs do AD.

Fontes:
Login automático: http://blog.thiagobelem.net/login-automatico-no-ssh-no-linux


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts