BackupPC

2008-08-13

Em tempos, neste blog, inclui uma série de posts dedicados a backups. Uma das soluções que mencionei foi o BackupPC, uma aplicação Linux que permite efectuar backups de maquinas em Linux, Windows e até MAC, via a rede.

Durante o último ano tive uma máquina recuperada a funcionar na Misericórdia local com a aplicação, a efectuar backups dos dados das várias estações de trabalho e servidores. Infelizmente a minha primeira configuração não resultou completamente. Parte do problema foi a configuração efectuada ao nível dos discos no Linux – o mount point do disco para os backups não deveria estar bem configurado, e com qualquer reboot da máquina, o disco não era montado e o serviço de backup não arrancava. Parte do problema deveria ser do próprio BackupPC a funcionar com o samba (um serviço do Linux que permite comunicar/partilhar com o Windows) – não conseguia copiar os dados das pastas Document and Settings correctamente. Decidi actualizar o Linux e refazer a configuração, desta vez utilizando o rsync para efectuar a comunicação.

Como disse, a máquina é um PC recuperado – um Pentium 4 a 1.6Ghz com 512MB de RAM, um disco de 20GB + 500GB, e uma placa de rede 1GB. Funciona bem com o Ubuntu (desktop) em cima (escolhi a versão desktop pela interface gráfica). Desta vez, na instalação, decidi acertar os pontos de montagem. O disco de 20GB foi divido em três – 10GB montado em / em ext3, 5GB montado em /home, também em ext3 e os restantes 5GB como swap. Para finalizar, montei o disco de 500Gb em /var/lib/backuppc (a pasta onde o BackupPC armazena os dados) no sistema de ficheiros ReiserFS, que tem journaling e aparenta ser bom com ficheiros pequenos. Finalmente, um dos problemas originais ficou resolvido – tendo configurado os pontos de montagem logo na instalação, o segundo disco é montado correctamente no arranque, e o serviço do BackupPC pode arrancar no arranque, correctamente, também.

Com o Ubuntu a funcionar e actualizado (8.04 + actualizações), instalei o BackupPC via o Synaptics. Surgiu um problema com a configuração do BackupPC no Apache, que foi facilmente resolvido – tive de trocar a configuração de Apache para Apache2. Um tutorial simples pode ser visto no How To Forge.

Nota 20090206- Caso surgam problemas no acesso à página (ou seja se o apache n encontrar a página do backuppc, pode ser necessário executar mais um passo: copie e execute as seguintes linhas, como referido por “Girya” nos foruns do Ubuntu:

sudo chmod 777 /etc/apache2/apache2.conf
sudo cat /etc/backuppc/apache.conf » /etc/apache2/apache2.conf
sudo chmod 644 /etc/apache2/apache2.conf
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start

I was having the same problem as you. I don’t why backuppc won’t auto configure apache2 but I found this in a post by searching backuppc. it was posted by bgearig. It adds the required lines to the apache config file so apache can find backuppc.

A segunda parte é (ou era) a mais complexa – a da configuração do BackupPC. Felizmente o BackupPC cresceu a nível de funcionalidade e já não é necessário editar os ficheiros de configuração à mão – o backoffice web agora incluí formulários de configuração onde podemos indicar os valores dos parâmetros gerais (como o modo de transferência – rsync/rsyncd/samba), a partilha base de backup, o user e pass para o backup, periodicidade de backups, etc. Também existe formulários para efectuar a configuração de parâmetros para máquinas individuais (fazendo o overide dos gerais).

Desta vez, na configuração decidi utilizar o rsync como método de transferência. O rsync é nativo ao Linux para transferência de ficheiros, mas existe um projecto chamado cygwin que inclui o rsync a funcionar em Windows. E pelos vistos o rysnc é melhor e mais eficiente que o samba na transferência de ficheiros. O cygwin-rsync pode ser obtido no Sourceforge do BackupPC, já quase quase configurado. O único “mal” de o rsync é que é necessário instalar/configurar em cada máquina. Mas correctamente gerido, é até um processo rápido.

Um óptimo tutorial para a configuração está em http://gerwick.ucsd.edu/backuppc_manual/backuppc_winxp.html. Ele indica uma forma correcta de instalar o rsync, que fica a trabalhar como serviço no Windows. Basta copiar os ficheiros para a pasta C:\rsyncd , editar o ficheiro .secrets com o user/pass e o .conf com a informação da máquina host permitida e as pastas (ou drives) a transferir, e iniciar o serviço. Por defeito, o ficheiro indica a pasta c:\Document and Settings como uma das configurações (“docs”)e o C:\ como a outra (“cDrive”). Nas maquinas onde havia mais que um disco, adicionei um “dDrive”. Criei tb um ficheio .bat na pasta com o conjunto de comandos para adicionar os serviços:

Assim, bastava copiar a pasta para cada máquina, adicionar info aos .conf, caso necessário, e executar o .bat para iniciar o serviço. Caso houvesse firewall a funcionar, tinha de abrir uma excepção para o rsync que utiliza a porta 873. Simples!

A minha tarefa ficou bem mais simples desta forma. No BackupPC, adicionei cada uma das máquinas (à medida que ia instalando o rsync) na lista de Hosts. A parte do Xfer geral tem – rsyncd como método de transferência; “cDrive” e “docs” como partilhas base, o user e pass de acesso e a definição do porto de acesso. Caso a máquina necessitasse, adicionava a partilha “dDrive” como override para a máquina. Tudo no backoffice web. 😀

E agora sim, tenho o os documentos a serem copiados correctamente, podendo preservar correctamente os ficheiros de trabalho.

NOTA: Em máquinas Vista, convém correr o .bat na linha de comandos iniciado como Administrador…