Backuppc: Copias de seguridad en red

  • Instalación del servidor:
  • lynks@servidor:~$ sudo aptitude install backuppc smbfs libfile-rsyncp-perl rsync

    Vamos a configurar el usuario y contraseña de administración de backuppc:

    lynks@servidor:~$ sudo htpasswd /etc/backuppc/htpasswd backuppc

    Reiniciamos apache:

    lynks@servidor:~$ sudo /etc/init.d/apache2 restart

    Para acceder a la administración de backuppc, accede a: http://servidor/backuppc donde servidor es la ip de la máquina donde instalamos backuppc.

  • Configurar servidor:
  • La configuracion se realizará a traves del fichero /etc/backuppc/config.pl, las opciones mas destacadas son:

    Opciones generales:

    #Traducir interfaz al español:
    Conf{Language} = 'es';

    #Formato fecha internacional:
    Conf{CgiDateFormatMMDD} = 0;

    Usuario y contrasenya de clientes rsync:

    # Usuario para conectarse a los modulos rsync del cliente
    $Conf{RsyncdUserName} = 'backuppc';
    # Contraseña del usuario de rsync de los cliente
    $Conf{RsyncdPasswd} = 'backup';

    Tiempo entre respaldos totales e incrementales:

    # Número de días entre copias totales
    $Conf{FullPeriod} = 6.97;
    # Número de días entre copias incrementales
    $Conf{IncrPeriod} = 0.97;
    # Número de copias totales que almacenaremos
    $Conf{FullKeepCnt} = 1;

    Reiniciamos backuppc:

    lynks@servidor:~$ sudo /etc/init.d/backuppc restart

  • Instalación de cliente linux por rsync:
  • lynks@cliente:~$ sudo aptitude install rsync

    Configuramos rsync para que arranque al inicio, modificando el fichero:

    lynks@cliente:~$ sudo vi /etc/default/rsync
    RSYNC_ENABLE=true

  • Añadir directorios a respaldar:
  • Usaremos siempre el mismo nombre de usuario y contraseña, especificados en el fichero de configuración de backuppc para todos los clientes linux.

    Creamos el fichero de configuración /etc/rsyncd.conf donde indicaremos los modulos (directorios) a respaldar:

    lynks@cliente:~$ sudo vi /etc/rsyncd.conf

    # GLOBAL OPTIONS

    #motd file=/etc/motd
    #log file=/var/log/rsyncd
    # for pid file, do not use /var/run/rsync.pid if
    # you are going to run rsync out of the init.d script.
    pid file=/var/run/rsyncd.pid
    #syslog facility=daemon
    #socket options=

    # MODULE OPTIONS

    ## nombre con el que accederemos al modulo
    [home-lynks]

            comment = Home de lynks
    ## directorio del que realizaremos el respaldo
            path = /home/marina
            use chroot = yes
    #       max connections=10
            lock file = /var/lock/rsyncd
    # the default for read only is yes...
    ## "no" para que backuppc pueda restaurar copias de seguridad
            read only = no
            list = yes
    ## para preservar los permisos
            uid = root
            gid = root
    ## podemos excluir usando patrones, si queremos excluir el directorio /home/marina/documentos: exclude = /documentos
    #       exclude =
    #       exclude from =
    #       include =
    #       include from =
    ## el usuario que puede acceder al modulo
            auth users = backuppc
    ## archivo de contraseñas de los usuarios dersync
            secrets file = /etc/rsyncd.secrets
            strict modes = no
    ## máquinas que podrán conectarse al modulo
            hosts allow = 192.168.1.2
    #       hosts deny =
            ignore errors = no
            ignore nonreadable = yes
            transfer logging = no
    #       log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
            timeout = 600
            refuse options = checksum dry-run
    #       dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

    Creamos el fichero de usuarios de rsync en /etc/rsyncd.secrets:

    lynks@cliente:~$  sudo vi /etc/rsyncd.secrets
    backuppc:backup

    Aseguramos el archivo de usuarios que contiene contraseñas:

    lynks@cliente:~$ sudo chmod o-r /etc/rsyncd.secrets

    Aplicamos los cambios y iniciamos rsync:

    lynks@cliente:~$ sudo /etc/init.d/rsync restart
    Starting rsync daemon: rsync.

  • Añadir cliente al servidor:
  • Añadimos una linea por cliente al fichero /etc/backuppc/hosts:

    lynks@servidor:~$ sudo vi etc/backuppc/hosts
    # /etc/backuppc/hosts

    host          dhcp    user    moreUsers
    localhost     0       backuppc

    # Añadimos el nombre o ip de la máquina cliente y el usuario con el que se conectará por rsync
    192.168.1.3   0       backuppc

    Creamos un fichero de configuración por cada cliente añadido en el fichero anterior, este debe tener el mismo nombre que el host:

    lynks@servidor:~$ sudo vi /etc/backuppc/192.168.1.3.pl
    # /etc/backuppc/192.168.1.3.pl
    $Conf{XferMethod} = 'rsyncd';
    ## modulos que queremos obtener ['pepe', 'etc'];
    $Conf{RsyncShareName} = ['home-lynks'];

    Reiniciamos backuppc:

    lynks@servidor:~$ sudo /etc/init.d/backuppc restart