Creación de backup manual

Para el ejemplo usaremos el dominio gomiztegi.com alojado en RAN. Para cada caso, accederemos al servidor correspondiente.

Creación del directorio donde residirá la copia de seguridad

Creamos la carpeta gomiztegi-ddbb/ en /var/backup

mkdir /var/backup/gomiztegi-ddbb

Le cambiamos los permisos a 700 para usuario root.

chmod 700 gomiztegi-ddbb

Script de copia de seguridad

Editamos el fichero /etc/merkatu/datos_ddbb.conf y añadimos la línea de configuración con la descripción de la base de datos y el fichero en el que guardar la copia.

Donde

  • Servidor : máquina en la que correo el demonio de MySQL.
  • Usuario : usuario de conexión a MySQL.
  • Contraseña : contraseña del usuario de conexión a MySQL.
  • Base de datos : base de datos de la que hacer el volcado.
  • Directorio : subdirectorio donde guardar el fichero del volcado.
  • Fichero : nombre del fichero en el que guardar el volcado.
  • Descripción : Descripción de la base de datos.
localhost:gomiztegi_user:contraseña:admin_gomiztegi:gomiztegi-ddbb:gomiztegi.sql:Base de datos de Gomiztegi

Ejecutamos el comando ddbb-backup.sh para ver que se crea el fichero en la carpeta /var/backup/gomiztegi-ddbb/.

Configuración del rsyncd

Editamos el fichero /etc/rsyncd.conf, dejando sólo las opciones pertinentes, y cambiamos los datos. el auth users no hay que cambiarlo.

[gomiztegi-www]
      use chroot = yes
      comment = Pagina web de gomiztegi
      path = /var/www/vhosts/gomiztegi.com/httpdocs/
      read only = yes
      list = yes
      uid = gomiztegi
      gid = psacln
      auth users = bacal345ksj
      secrets file = /etc/rsyncd.secrets
      hosts allow = 62.99.77.218

[gomiztegi-ddbb]
      use chroot = yes
      comment = DDBB de gomiztegi
      path = /var/backup/gomiztegi-ddbb/
      read only = yes
      list = yes
      uid = root
      gid = psacln
      auth users = bacal345ksj
      secrets file = /etc/rsyncd.secrets
      hosts allow = 62.99.77.218

Editamos el fichero /etc/backuppc/hosts y añadimos la siguiente línea al final.

www.gomiztegi.com 0 backuppc

Vamos a la carpeta

cd /etc/backuppc 

y creamos el siguiente archivo (lo copiamos de uno anterior).

cp www.el_ultimo_que_exista.com.pl www.gomiztegi.com.pl

Posteriormente debemos adecuar el usuario y el grupo o Backuppc dara error.

chown backuppc:www-data www.gomiztegi.com.pl

Editamos la última linea del fichero para que se ajuste a nuestra información del rsync (editado arriba). ·En el caso de proyectos en Joomla recomendamos quitar del backup el tmp, ya que son carpetas que no aportan información necesaria. En algunos casos también es necesario quitar la cache, aunque al quitar la cache del raiz es OBLIGATORIO poner el path absoluto para que se haga backup de otras posibles carpetas llamadas cache en joomla.

# comprobamos  el username
# $Conf{RsyncdUserName} = 'mk1237234b8';
$Conf{BackupFilesExclude} = {'gomiztegi-www' => ['/path/fisico/a/la/carpeta/cache','/tmp']};
$Conf{RsyncShareName} = ['gomiztegi-www','gomiztegi-ddbb'];

Reiniciamos el servidor de backups para que nos acepte el nuevo host.

/etc/init.d/backuppc restart

Ya solo queda acceder al servidro de backup y ejecutar el 1er backup de este host.

https://srv-datos/backuppc/

Excluir una carpeta en un backup

Para excluir una carpeta del backup. Es decir, que la carpeta seleccionada quede fuera del backup que realizamos.:

$Conf{BackupFilesExclude} = '/temp';
$Conf{BackupFilesExclude} = ['/temp'];     # es lo mismo que el primero
$Conf{BackupFilesExclude} = {
    'gomiztegi-www' => ['temp', '/winnt/tmp'],         # carpetas que se quedarian fuera del backup de gomiztegi-www
    'gomiztegi-bbdd' => ['/dont_back_this_up'], # carpetas que se quedarian fuera del backup de gomiztegi-ddbb   };
$Conf{BackupFilesExclude} = {
    'c' => ['/temp', '/winnt/tmp'],         # carpetas que se quedarian fuera del backup de gomiztegi-www
    '*' => ['/junk', '/dont_back_this_up'], # carpetas que se quedarian fuera del backup de los demás backup (del usuario gomzitegi en todo caso)

Reiniciamos el servidor de backups para que nos acepte la nueva configuración.

/etc/init.d/backuppc restart

Desactivar un backup

Para desactivar un backup automático. Es decir, dominios de los que no deseamos hacer más backups pero que nos interesa mantener en el repositorio por si hay necesidad de esos ficheros:

Hay 3 distintos valores definidos para $Conf{BackupsDisable}:

    0    Backups están activados (valor por defecto del config.pl para todos los backups).
    1    No se hacen backups automáticos, pero se mantiene la opción de hacer los backups manuales.
         $Conf{BackupsDisable} = 1;
    2    No se realizan backups ni automáticos ni manuales.
         $Conf{BackupsDisable} = 2;

Reiniciamos el servidor de backups para que nos acepte la nueva configuración.

/etc/init.d/backuppc restart

Eliminar un backup

Para eliminar completamente los backups de un cliente se debe borrar el archivo de configuración (host.pl) y remover el /var/lib/backuppc/pc/$host del disco.

Es necesario recargar la aplicación con el comando

/etc/init.d/backuppc reload

Errores de backuppc

En el siguiente enlace está disponible un listado con los errores de backuppc.

http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=ErrorMessages