Instalação e Configuração do Backuppc no Debian Squeeze

E ai galera, aqui eu vou abordar a configuração e instalação do Backuppc, uma ferramenta muito simples e útil no meu ponto de vista, pois conseguimos efetuar o backup e restore dos backups por uma tela web, aqui eu vou abordar a configuração de um cliente de backup Linux, porém a ferramente também efetua backup de Windows.

Prepare o seu sistema com o seguinte script https://github.com/douglasqsantos/easy-debian para que não falte nenhum pacote ou configuração.

O que vou utilizar:

  1. Nome: backuppc
    1. Ip: 10.101.0.25/24
  2. Nome: debian
    1. Ip: 10.101.0.26/24

Agora vamos mandar atualizar os repositório e fazer um upgrade do sistema

aptitude update && aptitude dist-upgrade -y

Agora vamos mandar instalar o Backuppc e suas dependências.

aptitude install libcompress-zlib-perl libarchive-zip-perl libxml-rss-libxml-perl libfile-rsync-perl libfile-rsyncp-perl \
samba smbclient samba-doc samba-common openssh-server  apache2 perl5 rsync backuppc -y
  1. Aqui vamos ser questionados sobre o Grupo de trabalho do samba deixe o padrão.
  2. Vamos ser questionados sobre qual servidor web vamos utilizar para o backuppc selecione o apache2 com o espaço depois ok
  3. Depois vamos ter um aviso sobre a senha do backuppc podemos desconsiderar ela pois vamos definir ela manualmente depois

Agora vamos definir a nova senha para o backuppc

htpasswd /etc/backuppc/htpasswd backuppc
New password: #senha
Re-type new password: #senha
Updating password for user backuppc

Vamos alterar o shell do backuppc para /bin/bash

usermod -s /bin/bash backuppc

Agora vamos gerar as chaves para a conexão ssh do localhost com o backuppc

su - backuppc
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/backuppc/.ssh/id_rsa): #ENTER
Created directory '/var/lib/backuppc/.ssh'.
Enter passphrase (empty for no passphrase): #ENTER
Enter same passphrase again: #ENTER
Your identification has been saved in /var/lib/backuppc/.ssh/id_rsa.
Your public key has been saved in /var/lib/backuppc/.ssh/id_rsa.pub.
The key fingerprint is:
95:82:ff:fa:2f:21:4a:a8:8b:e0:54:40:fc:22:63:5d backuppc@backuppc
The key's randomart image is:
+--[ RSA 2048]----+
|..               |
|..   E .   .     |
| .o . . . o      |
|oo.o   . o       |
|o... .  S        |
|  . . . ...      |
|.. . . . ...     |
|+..   .  ..      |
|....    ...o.    |
+-----------------+

Agora vamos copiar ela para o authorized_keys do root pois vamos fazer backup do servidor Backuppc também utilizando rsync.

ssh-copy-id root@localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is de:7b:28:4e:99:6c:d0:98:fe:dd:7f:06:3c:dd:9b:11.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
root@localhost's password: #senha
Now try logging into the machine, with "ssh 'root@localhost'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Agora que já copiamos a nossa chave vamos efetuar um teste de login

ssh root@localhost
Linux backuppc 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Oct 26 16:26:48 2012 from 10.101.0.1
[16:38:11] root@backuppc [~] # 

Como pode ser notado efetuamos login no servidor sem precisarmos informa a senha.

Agora vamos acessar o backuppc em http://ip_servidor/backuppc usuário: backuppc senha: que foi definida com htpasswd

  1. No painel do lado esquerdo selecione Edit Config
  2. No painel que apareceu selecione CGI
  3. Agora em Language selecione pt_br e selecione Save
  4. Agora selecione Xfer
    1. Agora na tela que apareceu em XferMethod selecione rsync
    2. Agora em RsyncShareName vamos informar quais diretórios vamos efetuar backup
    3. Ali temos por padrão / troque o / por /etc
    4. Agora selecione adicionar para adicionarmos mais um diretório
    5. Agora informe /boot
    6. Agora selecione adicionar para adicionarmos mais um diretório
    7. Agora informe /var/log
    8. Agora selecione adicionar para adicionarmos mais um diretório
    9. Agora informe /root
    10. Agora selecione Salvar
  5. Agora selecione Agenda
  6. Aqui vamos informar em FullAgeMax 30 pois aqui definimos quanto tempo um backup full deve ficar armazenado no servidor.
  7. Em backupPeriods temos quando não devemos fazer um backup
    1. Em hourBegin é o horário início que não podemos fazer backup dela até hourend que é o horário final
    2. Em weekdays temos os dias da semana 1→ segunda 5→ sexta então não vamos fazer backup de segunda a sexta das 7 as 19 e 30.
  8. Em BackupZeroFilesIsFatal desmarque senão ele fica gerando erros quando tentamos fazer backup de arquivos ou diretórios vazios.
  9. Agora selecione Salvar
  10. Agora do lado esquerdo da tela em selecione um host selecione localhost
  11. Agora selecione editar configurações abaixo de arquivos de log
  12. Aqui selecione Transferência
  13. Agora em XferMethod selecione rsync
  14. Agora selecione Salvar
  15. Agora do lado esquerdo selecione localhost Principal
  16. Agora vamos mandar gerar um backup completo.
  17. Selecione Iniciar Backup completo
  18. Agora selecione iniciar backup completo
  19. Agora do lado esquerdo podemos acompanhar os logs selecionando arquivo de log

Caso ocorra tudo ok vamos ter um log como ex:

2012-10-26 16:53:16 full backup started for directory /etc
2012-10-26 16:53:19 full backup started for directory /boot
2012-10-26 16:53:21 full backup started for directory /var/log
2012-10-26 16:53:23 full backup started for directory /root
2012-10-26 16:53:23 full backup 0 complete, 1700 files, 34429614 bytes, 0 xferErrs (0 bad files, 0 bad shares, 0 other)
  1. Agora do lado esquerdo selecione localhost Principal
  2. Agora em Resumo do Backup temos Cópia Nº selecione a 0
  3. Agora vamos direcionados para os nossos backups
  4. Para mandar restaurar um arquivo por exemplo /etc/resolv.conf
  5. Selecione o /etc logo abaixo de boot na tree
  6. Agora na tela do lado direito aonde temos os icones dos arquivos e diretórios selecione resolv.conf
  7. Agora no final da tela selecione Restaurar os arquivos selecionados, note que podemos selecionar em qual host queremos restaurar os arquivos então podemos voltar um backup de um servidor em outro.
  8. Aqui podemos mandar restaurar o arquivo no seu diretório padrão somente selecionando Iniciar restauração e depois selecionar Restaurar
  9. Caso queira obter o arquivo no formato tar ou zip é só selecionar Download Zip file ou Download Tar file

Agora vamos fazer um ajuste no /etc/hosts para adicionarmos o cliente

vim /etc/hosts
[...]
10.101.0.26     debian.dksh.com.br        debian

Configuração do Cliente

No cliente é muito simples vamos ter somente que enviar a chave do ssh para ele, então vamos logar com o backuppc no servidor

su - backuppc

Agora precisamos mandar a chave para o cliente

su - backuppc
backuppc@backuppc:~$ ssh-copy-id root@debian
The authenticity of host 'debian (10.101.0.26)' can't be established.
RSA key fingerprint is de:7b:28:4e:99:6c:d0:98:fe:dd:7f:06:3c:dd:9b:11.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'debian,10.101.0.26' (RSA) to the list of known hosts.
root@debian's password: #senha
Now try logging into the machine, with "ssh 'root@debian'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Agora vamos testar a conexão via ssh para o cliente

ssh root@debian
Linux debian 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Oct 26 16:26:08 2012 from 10.101.0.1

Como pode ser notado conseguimos efetuar o login sem a necessidade de senha.

Agora vamos voltar no painel web do backuppc

  1. Agora no backuppc selecione Editar Hosts
  2. Agora selecione Adicionar
  3. Informe em host: debian
  4. Informe em user: root
  5. Troque também o user do localhost de backuppc para root
  6. Agora selecione Salvar
  7. Agora pressione F5
  8. Agora selecione em Selecione um host selecione o debian
  9. Agora selecione Editar Configurações
  10. Aqui vamos ter o padrão que definimos no começo, então qualquer novo host vai ter essa configuração por padrão, caso precise alterar algo para o host sinta-se a vontade.
  11. Após isso selecione Salvar
  12. Agora selecione em Selecione um host selecione o debian
  13. Agora selecione Iniciar Backup Completo
  14. Agora selecione Iniciar Backup completo novamente
  15. Agora do lado esquerdo podemos acompanhar os logs selecionando Arquivo de Log

Caso esteja tudo configurado corretamente vamos ter algo como

2012-10-26 17:14:14 full backup started for directory /etc
2012-10-26 17:14:17 full backup started for directory /boot
2012-10-26 17:14:19 full backup started for directory /var/log
2012-10-26 17:14:21 full backup started for directory /root
2012-10-26 17:14:21 full backup 0 complete, 1446 files, 32169879 bytes, 0 xferErrs (0 bad files, 0 bad shares, 0 other)

A questão do restore é a mesma do restore do localhost então não vou entrar em detalhes podemos obter mais informações do backuppc em Backuppc

Referências