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
Cambios en servidor de backup local (backuppc.merkatu.info)
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