jueves, 10 de enero de 2013

Backups incrementales con BackupPC via rsyncd en Windows y Linux

1.- Introducción:

BackupPC es un Sistema de copias de seguridad con interfaz web que nos permite realizar tanto copias de seguridad completas e incrementales en sistemas Windows y Linux.

2.- Instalación de BackupPC

2.1.- Descargar el software

Para instalar el programa BackupPC, debemos descargarlo de su página web.

2.2.- Instalación en Ubuntu mediante consola

Para instalar backuppc utilizando la consola en Ubuntu debemos introducir lo siguiente en la terminal:



sudo apt-get install backuppc rsync libfile-rsyncp-perl par2 smbfs

Una vez hecho esto accedemos a la interfaz web de backuppc con el modelo de esta URL:


http://localhost/backuppc/

3.- Configuración de BackupPC

Lo primero que tenemos que hacer es cambiar la contraseña del usuario administrador de BackupPC, para ello ejecutamos la siguiente orden en el directorio que aparece a continuación:


/etc/backuppc$ sudo htpasswd htpasswd backuppc

Para cambiar la configuración de backuppc debemos editar el siguiente fichero:



/etc/BackupPC/config.pl

En el podemos encontrar la configuración de backuppc, estos son un ejemplo de configuraciones básicas:


$Conf{ServerHost}: Hostname del sistema
$Conf{CgiAdminUsers}: Definir el usuario administrador
$Conf{CgiURL}: Establecer la URL para la interfaz web
$Conf{Languaje}: Establecer el lenguaje, español= es

Para cambiar el directorio de los backups es tan sencillo como hacer un enlace simbólico de la siguiente forma al directorio que deseemos:


ln -s /var/lib/backuppc /media/Iomega1TB/backups/

3.1. Agregar hosts

Para agregar un host debemos dirigirnos a la interfaz web de backuppc, una vez allí, en la izquierda aparecen las opciones del servidor de backuppc, la opción que buscamos es "Edit hosts", hacemos click en ella y observamos la lista de hosts existentes en el servidor, que por defecto aparecerá "localhost". Para agregar uno nuevo debemos hacer click en "Add", esto creará un nuevo campo junto a "localhost", en la casilla de "host" introducimos la IP o el nombre del equipo que queramos agregar (si la IP del equipo está asociada al nombre de equipo en el DNS), y en la casilla de "user" introducimos el usuario que realizará los backups, generalmente se utiliza el usuario backuppc, con esto ya hemos agregado nuestros hosts.

3.2. Configurar host Windows para backups via rsyncd

Esta configuración esta dividida en dos partes, la configuración del cliente, es decir, el equipo de Windows, y la configuración del servidor, es decir, la configuración del cliente en backuppc.

3.2.1. Configuración del cliente (Windows)

3.2.1.1. Descarga, instalación y configuración de rsyncd

1.- Tenemos que descargar el paquete Rsync para windows, este paquete es un metodo para realizar los bakcups

2.- Copiamos la aplicacion rsyncd a la siguiente carpeta:



c:\rsyncd\

3.- Agregamos usuario y contraseña en el siguiente archivo:


c:\rsyncd\rsyncd.secret

4.- Editamos el archivo rcyncd.conf y agregamos los parámetros del directorio que deseamos respaldar, un ejemplo:


[EDrive]
    path = E:
    comment = Entire Drive
    auth users = Tecnicos
    secrets file = c:/rsyncd/rsyncd.secrets
    # hosts allow = 164.72.88.18
    strict modes = false
    read only = true
    list = false

[Sueldos]
    path = c:/Documents and Settings/Sueldos
    comment = Sueldos
    auth users = Backupps
    secrets file = c:/rsyncd/rsyncd.secrets
    hosts allow = 164.72.88.18
    strict modes = false
    read only = true
    list = false

- path: Directorio que deseamos respaldar
- comment: Comentario
- auth users: Usuarios autorizados (los que hemos definido en el fichero anterior)
- secrets file: Ubicación de donde se recogen las credenciales
- hosts allow: Las IP que se puede conectar, la almohadilla significa que no hay restriciones

5.- Con los archivos configurados, procedemos a levantar el servicio. Configuraremos el autoinicio como servicio de Windows para mayor comodidad, abrimos una terminal de Windows y ejecutamos lo siguiente:



1) cd \rsyncd

2) cygrunsrv.exe -I rsyncd -e CYGWIN=nontsec -p c:/rsyncd/rsync.exe -a "--config=c:/rsyncd/rsyncd.conf --daemon --no-detach"

3) cygrunsrv.exe --start rsyncd

6.- Comprobamos que los puertos están habilitados, ejecutamos lo siguiente en la terminal: 

- Windows:



netstat

- Linux


nmap "IP"
telnet "IP" 873
nc -v "IP" 873

3.2.1.2 Habilitar el firewall

Tenemos que abrir el puerto en el firewall del cliente y permitir la aplicación, agregamos estas excepciones en el firewall que tengamos en el equipo:

- Aplicación: Rsync
- Puerto: TCP 873

3.2.1.3 Windows XP

- Para configurar el puerto en el firewall: Inicio > Panel de Control > Centro de Seguridad > Firewall de Windows > Excepciones > Agregar puerto

Con esto añadimos el puerto habilitado en nuestro firewall

- Para configurar rsync: Inicio > Panel de Control > Centro de Seguridad > Firewall de Windows > Excepciones > Agregar Programa

En la lista solo debemos examinar el rsync.exe para que el firewall lo permita 


 3.2.1.4 Windows 7


- Para configurar el puerto en el firewall: Inicio > Panel de Control > Sistema y Seguridad > Firewall de Windows > Configuración Avanzada > Reglas de Entrada > Nueva Regla

Con esto añadimos el puerto habilitado en nuestro firewall

- Para configurar rsync: Inicio > Panel de Control > Sistema y Seguridad > Firewall de Windows > Programas Permitidos

En la lista solo debemos examinar el rsync.exe para que el firewall lo permita

3.2.2 Configuración del servidor (BackupPC)

- Seleccionamos nuestro host de la lista desplegable de la derecha en la interfaz web
- Dentro de la página principal del host hacemos click en "Edit config", aquí es donde establecemos la configuración de las copias de seguridad de nuestro host
- En la pestaña "Backup Settings" debemos establecer en la casilla "PingCMD" el siguiente valor:

/bin/echo

Esto evita que a la hora de realizar los backups nos de un error de ping y no realice los backups

- En la pestaña "Xfer" establecemos los siguientes parámetros: 

          - XferMethod: Método de transferencia, seleccionamos rsyncd
          - RsyncShareName: El nombre de la carpeta que queremos respaldar
          - RsyncUserName: El usuario que hemos establecido en el archivo de configuración de los usuarios del cliente
          - RsyncPasswd: La contraseña del usuario que hemos establecido en el archivo de configuración de los usuarios del cliente

- En la pestaña "BackupsDisable" con los  siguientes parámetros:

2 comentarios:

  1. Como debo configurar la carpeta si está en otra partición. lo tengo configurado asi:
    d:/xxx

    y me genera error Unknown module. Podrias ayudarme porfa

    ResponderEliminar
  2. Para cambiar el directorio de los backups es tan sencillo como hacer un enlace simbólico de la siguiente forma al directorio que deseemos:


    ln -s /var/lib/backuppc /media/Iomega1TB/backups/

    En mi caso, el apartado "/media/Iomega1TB/backups/" es la dirección de una carpeta en un disco externo en vez del principal, tendrías que reemplazar esa dirección por una de tu unidad en ese comando

    ResponderEliminar