Sommaire
Procédure
backup2l es una herramienta de línea de comandos para crear y restaurar copias de seguridad en un sistema de copia de seguridad remoto. En una instalación por defecto, las copias de seguridad se crean de forma autónoma mediante un script cron.
backup2l admite copias de seguridad diferenciales jerárquicas con un número de niveles y copias de seguridad por nivel especificado por el usuario. Con este esquema, el número total de archivos a almacenar sólo aumenta logarítmicamente con el número de copias de seguridad diferenciales desde la última copia de seguridad completa. Como resultado, se pueden generar pequeñas copias de seguridad incrementales a intervalos cortos, mientras que hay poca necesidad de realizar copias de seguridad completas que consumen tiempo y espacio.
La función de restauración facilita la restauración del estado del sistema de archivos o de directorios/archivos arbitrarios desde puntos anteriores en el tiempo. Los atributos de propiedad y autorización de archivos y directorios se restauran correctamente.
Una arquitectura de controladores abierta significa que prácticamente cualquier programa de archivado puede utilizarse como backend. Los controladores integrados admiten archivos .tar.gz, .tar.bz2 o .afioz. Se pueden añadir otros controladores definidos por el usuario, tal y como se describe en el archivo de configuración suministrado "first-time.conf".
Todos los archivos de control se almacenan con los archivos comprimidos en el sistema de copia de seguridad remoto, y su contenido suele ser autoexplicativo. Por lo tanto, en caso de emergencia, un usuario no sólo debe confiar en la funcionalidad de restauración de backup2l, sino que puede -si es necesario- examinar los archivos y extraer los archivos comprimidos manualmente.
Para decidir si un archivo es nuevo o está modificado, backup2l examina su nombre, hora de modificación, tamaño, propiedad y permisos.
También es posible realizar "copias en caliente", por ejemplo de bases de datos MySQL.
Se incluye como paquete en la mayoría de las distribuciones.
Para instalar backup2l en su máquina local, basta con un simple comando.
apt-get install backup2l
Cree estas dos carpetas de copia de seguridad:
$ mkdir -p /var/backup.d/final $ mkdir -p /var/backup.d/preliminary/mysql
La carpeta "final" contiene los archivos de las copias de seguridad realizadas y la carpeta "premilinary" contiene las "copias en caliente" de las copias de seguridad realizadas.
Edite el archivo de configuración backup2, por ejemplo utilizando el editor de texto nano:
$ nano /etc/backup2l.conf
En la línea
SRCLIST=(/var/www/mondomaine.fr /var/backup.d/preliminary)
Elija las carpetas de las que desea hacer copia de seguridad. En este ejemplo, las carpetas de las que se hará copia de seguridad serán: /var/www/mondomaine.fr y /var/backup.d/preliminary, que contiene las "copias en caliente".
SKIPCOND=(-ruta "/var/www/mondomaine.fr/log/*")
Como el espacio en el destino de la copia de seguridad es limitado en la mayoría de los casos, debería excluir los directorios y archivos más grandes que realmente no necesitan copia de seguridad, como los archivos de registro asociados a su sitio web.
BACKUP_DIR="/var/backup.d/final"
La copia de seguridad se configura en este directorio. Los archivos de este directorio se transfieren al servidor de copia de seguridad. Si es necesario, los archivos también se pueden cifrar.
MAX_LEVEL=1 MAX_PER_LEVEL=9 MAX_FULL=1 GENERATIONS=1 CREATE_CHECK_FILE=1
Esta configuración proporciona una copia de seguridad completa y 9 copias de seguridad incrementales. Si se va a realizar una nueva copia de seguridad incremental cada semana, max_per_level debe establecerse en 6. Una copia de seguridad completa y las incrementales son siempre necesarias para una restauración.
PRE_BACKUP () { echo "start pre backup scripts" sh /root/backup/hotcopy_mysql.sh chmod -R u=rw,go-rwx /var/backup.d/preliminary/* echo "pre backup scripts completed" }
POST_BACKUP () { echo "Ejecutando acciones post copia de seguridad." chown -R root:backup /var/backup.d/final chmod -R u=rw,g=r /var/backup.d/final/* sh /root/backup/scp.sh echo "La copia de seguridad se ha completado." echo "----------------------------------------------" }
Estas funciones se implementan antes y/o después de las copias de seguridad.
En esta sección, la función "PRE_BACKUP()" se ejecuta antes de la copia de seguridad y la función "POST_BACKUP()" se ejecuta después de la copia de seguridad. El script bash de carga de copias de seguridad /root/backup/scp.sh se adjunta a la función "POST_BACKUP()".
Su archivo backup2l.conf está ahora configurado, para que backup2l pueda tener en cuenta su configuración, edite esta directiva de la siguiente manera:
UNCONFIGURED=0
Algunos archivos no pueden ser simplemente respaldados por copia, porque están constantemente accesibles. Por ejemplo, las bases de datos MySQL.
nano /root/respaldo/hotcopy_mysql.sh
Aquí se utiliza el programa "mysqldump" para hacer copias de seguridad de nuestras bases de datos MySQL.
#rm /var/backup.d/preliminary/mysql/alldb.sql.gz mysqldump --user=root --password=XXXXX --all-databases --skip-lock-tables | gzip > /var/backup.d/preliminary/mysql/alldb.sql.gz
Para ello, configure el archivo /etc/cron.daily/zz-backup2l con el siguiente contenido (es posible que este archivo ya estuviera configurado cuando se instaló backup2l)
#!/bin/bash # El siguiente comando invoca a 'backup2l' con el archivo de # configuración por defecto (/etc/backup2l.conf). # # (Re)muévalo o este script completo si no desea copias de seguridad automáticas. # # Redirija su salida si no desea correos electrónicos automáticos después de cada copia de seguridad. # que backup2l > /dev/null || nice -n 19 backup2l -b
En general, hay dos formas de recuperar archivos del servidor de copia de seguridad. La primera opción, y la más plausible, es copiar desde el servidor en el que se realizó la copia de seguridad al servidor de destino (servidor de copia de seguridad): Push Data. Esto podría hacerse utilizando scp por ejemplo. La segunda opción son los datos desde el servidor de copia de seguridad, de nuevo utilizando scp: Pull Data. La última opción es preferible en mi opinión porque un hacker no puede simplemente acceder a las copias de seguridad.
Para ambas opciones, recomiendo usar scp, ya que el servidor de copia de seguridad probablemente tiene un inicio de sesión SSH de todos modos y el rendimiento no debería ser un factor con una sola copia por la noche. Además, la transmisión está cifrada. También puedes usar rsync.
Los archivos también pueden cifrarse con gpg y transmitirse sólo cifrados. Los datos del servidor de copia de seguridad quedan así protegidos de terceros no autorizados. La clave de descifrado no debe dejarse en el servidor, sino copiarse localmente en un medio de almacenamiento extraíble, como una memoria USB.
Cree una clave SSH y adjúntela al servidor de copia de seguridad. Le invito a seguir esta documentación para añadir una clave SSH al servidor de copia de seguridad.
$ ssh-keygen -b 4096 -t rsa
A continuación, cree un script bash de copia de seguridad en /root/backup
nano /root/backup/scp.sh
Para ordenar los comandos, se utilizará como ejemplo la utilidad "rsyncscpdrive" bajo el nombre cdXXXX.
#!/bin/bash SOURCE_DIRECTORY=/var/backup.d/final USER=cdXXXX TARGET_DIRECTORY=/files SERVER=rs1.cloudlws.com scp ${SOURCE_DIRECTORY}/* ${USER}@${SERVER}:${TARGET_DIRECTORY}
Resumen de los paquetes Cloud Drive de LWS disponibles, y sus precios sin IVA:
Cloud Drive S
|
Cloud Drive M
|
Cloud Drive L
|
Cloud Drive XL
|
100 GB | 250 GB | 500 GB | 1TB |
4.99€* | 9.99€* | 14.99€* | 19.99€* |
*Precio excl.
Siguiendo esta documentación, podrá utilizar la utilidad backup2l para restaurar sus datos.
Puede consultar nuestras distintas ofertas de copia de seguridad en línea en nuestro sitio de ventas.