LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Tengo un servidor HP con hardware RAID 6 ejecutando RHEL / CentOS Linux 5.x / 6.x / 7.x. Me gustaría que actuara como un servidor de respaldo para mis otros servidores, computadoras de escritorio y computadoras portátiles, todos con Linux / MacOS o algún sistema tipo Unix. El servidor debe mantener la copia de seguridad en formato de hora, día y mes. ¿Cómo configuro mi servidor Red Hat Enterprise Linux o CentOS Linux como servidor de copia de seguridad remota o servidor de instantáneas usando rsnapshot?

rsnapshot es un software de instantáneas del sistema de archivos de fuente abierta y gratuita. Es una solución de copia de seguridad simple, confiable y de recuperación ante desastres. Es un programa de copia de seguridad remoto que utiliza rsync para tomar instantáneas de respaldo de sistemas de archivos.

Utiliza enlaces duros para ahorrar espacio en el disco y ofrece las siguientes características:

  • Instantánea del sistema de archivos: para sistemas locales o remotos
  • Copia de seguridad de la base de datos: copia de seguridad de MySQL / PgSQL
  • Seguro: el tráfico entre el servidor de copia de seguridad remoto siempre se cifra con openssh
  • Copia de seguridad completa: más copias de seguridad incrementales diarias, horarias y mensuales
  • Fácil de restaurar: los archivos pueden ser restaurados por los usuarios que los poseen, sin que el usuario raíz participe.
  • Copia de seguridad automatizada: se ejecuta en segundo plano a través de cron .
  • Ancho de banda amigable: rsync también puede ahorrar ancho de banda

Este tutorial le muestra cómo instalar y usar rsnapshot en un servidor basado en CentOS o RHEL .

Configuración de muestra

  • snapshot.example.com - El server HP con RAID 6 configurado con Red Hat / CentOS Linux actúa como servidor de respaldo para otros clientes.
  • DNS ns1.example.com - El servidor de Red Hat actúa como servidor de nombre primario.
  • DNS ns2.example.com - El servidor de Red Hat actúa como servidor de nombres secundario.
  • www.example.com - Red Hat ejecutando el servidor web Apache.
  • mysql.example.com - Red Hat mysql servidor.

Instalar rsnapshot en una caja RHEL / CentOS Linux

Inicie sesión en el servidor de snapshot.example.com. Escriba el siguiente comando yum para instalar rsnapshot ( primero habilite el repositorio de EPEL en CentOS / RHEL )

Cómo habilitar el repositorio EPEL en RHEL / RedHat / CentOS 5 / 6 / 7?

# yum install rsnapshot
Resultados de muestra:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.123host.vn
 * epel: ftp.cuhk.edu.hk
 * extras: mirrors.vinahost.vn
 * updates: centos.excellmedia.net
Resolving Dependencies
--> Running transaction check
---> Package rsnapshot.noarch 0:1.4.2-2.el7 will be installed
--> Processing Dependency: rsync for package: rsnapshot-1.4.2-2.el7.noarch
--> Running transaction check
---> Package rsync.x86_64 0:3.0.9-18.el7 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===============================================================================
 Package            Arch            Version                Repository     Size
===============================================================================
Installing:
 rsnapshot          noarch          1.4.2-2.el7            epel          116 k
Installing for dependencies:
 rsync              x86_64          3.0.9-18.el7           base          360 k
 
Transaction Summary
===============================================================================
Install  1 Package (+1 Dependent package)
 
Total download size: 476 k
Installed size: 1.1 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): rsync-3.0.9-18.el7.x86_64.rpm                      | 360 kB   00:00     
(2/2): rsnapshot-1.4.2-2.el7.noarch.rpm                   | 116 kB   00:01     
-------------------------------------------------------------------------------
Total                                             265 kB/s | 476 kB  00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : rsync-3.0.9-18.el7.x86_64                                   1/2 
  Installing : rsnapshot-1.4.2-2.el7.noarch                                2/2 
  Verifying  : rsnapshot-1.4.2-2.el7.noarch                                1/2 
  Verifying  : rsync-3.0.9-18.el7.x86_64                                   2/2 
 
Installed:
  rsnapshot.noarch 0:1.4.2-2.el7                                               
 
Dependency Installed:
  rsync.x86_64 0:3.0.9-18.el7                                                  
 
Complete!

Configurar rsnapshot

Debe realizar los siguientes pasos.

Paso # 1: configurar la contraseña menos el inicio de sesión

Para realizar una copia de seguridad remota, debe configurar ssh sin contraseña con ssh-keygen y ssh-copy-id.

Cree su clave rsa ssh y cárguela en todos los servidores usando scp o ssh-copy-id. Debe escribir los siguientes comandos en el servidor snapshot.example.com:

# ssh-keygen -t rsa
O
# ssh-keygen -t rsa -b 4096 -C "My rsnapshot backup server key"

Le sugiero encarecidamente que proteja con contraseña.

##############################
## WARNING OVERWRITING FILE ##
##############################
# scp .ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:.ssh/authorized_keys2
# scp .ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:.ssh/authorized_keys2
# scp .ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:.ssh/authorized_keys2
# scp .ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:.ssh/authorized_keys2

Para evitar sobrescribir archivos usando el comando ssh-copy-id de la siguiente manera:

# ssh-copy-id -i ~/.ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
# ssh-copy-id -i ~/.ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
# ssh-copy-id -i ~/.ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
# ssh-copy-id -i ~/.ssh/id_rsa.pub Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Paso # 2: Configurar rsnapshot

El archivo de configuración predeterminado se encuentra en /etc/rsnapshot.conf. Abra el archivo de configuración usando un editor de texto, ingrese:

# vi /etc/rsnapshot.conf

Reglas de configuración

Debe seguir dos reglas de configuración:

  • El archivo de configuración rsnapshot requiere pestañas entre los elementos .
  • Todos los directorios requieren una barra inclinada . Por ejemplo, /home/ es la forma correcta de especificar el directorio, pero /home está mal.

Primero, especifique el directorio raíz para almacenar todas las instantáneas como /snapshots/ o /dynvol/snapshot/ según su configuración RAID, ingrese:

snapshot_root	/raiddisk/snapshots/

Debe separar snapshot_root y /raiddisk/snapshots/ con una tecla [tab], es decir, escriba snapshot_root y haga clic en la tecla [tab] una vez y escriba /raiddisk/snapshots/.

Definir intervalos de instantáneas

Debe especificar intervalos de respaldo, es decir, especificar intervalos por hora, día, semana y mes:

interval	hourly	6
interval	daily	7
interval	weekly	4
interval	monthly	3

La línea "intervalo por hora 6" significa 6 copias de seguridad por hora por día. Siéntase libre de adaptar la configuración según sus requisitos de copia de seguridad y frecuencia de instantáneas. También puede hacer una copia de respaldo anual de la opción:

 #########################################
# NIVELES DE RESPALDO / INTERVALOS #
# Debe ser único y en orden ascendente #
#########################################

interval        hourly  6
interval        daily   7
interval        weekly  4
interval        monthly 12
interval        yearly  5

Directorios de copia de seguridad remota

Para hacer una copia de seguridad de /var/named/ y /etc/ directory desde ns1.example.com y ns2.example.com, añada:

backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/etc/	ns1.example.com/
backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/var/named/	ns1.example.com/
backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/etc/	ns2.example.com/
backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/var/named/	ns2.example.com/

Para hacer una copia de seguridad del directorio /var/www/, /var/log/httpd/ y /etc/ de www.example.com, ingrese

backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/var/www/	www.example.com/
backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/etc/	www.example.com/
backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/var/log/httpd/	www.example.com/

Para hacer una copia de seguridad de los archivos de base de datos mysql almacenados en /var/lib/mysql/, ingrese:

backup	Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/var/lib/mysql/	mysql.example.com/dbdump/

También es posible usar este script bash shell para hacer una copia de seguridad de la base de datos mysql cuando se usa el servidor rsnapshot. Guarde y cierre el archivo. Para probar su configuración, ingrese:


# rsnapshot configtest


Muestra de salida:

Syntax OK

Programar trabajo cron

Cree un nuevo archivo llamado /etc/cron.d/rsnapshot archivo cron. Los siguientes valores utilizados corresponden a los ejemplos en /etc/rsnapshot.conf.

0 */4 * * *         /usr/bin/rsnapshot hourly
50 23 * * *         /usr/bin/rsnapshot daily
40 23 * * 6         /usr/bin/rsnapshot weekly
30 23 1 * *         /usr/bin/rsnapshot monthly
# yearly if set
# 0  0  1 1 *         /usr/bin/rsnapshot yearly

Guarde y cierre el archivo. Ahora rsnapshot funcionará de la siguiente manera para hacer una copia de seguridad de los archivos de los cuadros remotos:

  1. 6 copias de seguridad por hora al día (una vez cada 4 horas, a 0,4,8,12,16,20)
  2. 1 copia de seguridad diaria todos los días, a las 11:50 p.m.
  3. 1 copia de seguridad semanal todas las semanas, a las 11:40 p. M., Los sábados (6to día de la semana)
  4. 1 copia de seguridad mensual todos los meses, a las 11:30 PM del primer día del mes

¿Cómo veo mis copias de seguridad?

Para ver el directorio de cambios de respaldo en


# cd /raiddisk/snapshots/
# ls -l


Muestra de salida:

drwxr-xr-x 4 root root 4096 2008-07-04 06:04 daily.0
drwxr-xr-x 4 root root 4096 2008-07-03 06:04 daily.1
drwxr-xr-x 4 root root 4096 2008-07-02 06:03 daily.2
drwxr-xr-x 4 root root 4096 2008-07-01 06:02 daily.3
drwxr-xr-x 4 root root 4096 2008-06-30 06:02 daily.4
drwxr-xr-x 4 root root 4096 2008-06-29 06:05 daily.5
drwxr-xr-x 4 root root 4096 2008-06-28 06:04 daily.6
drwxr-xr-x 4 root root 4096 2008-07-05 18:05 hourly.0
drwxr-xr-x 4 root root 4096 2008-07-05 15:06 hourly.1
drwxr-xr-x 4 root root 4096 2008-07-05 12:06 hourly.2
drwxr-xr-x 4 root root 4096 2008-07-05 09:05 hourly.3
drwxr-xr-x 4 root root 4096 2008-07-05 06:04 hourly.4
drwxr-xr-x 4 root root 4096 2008-07-05 03:04 hourly.5
drwxr-xr-x 4 root root 4096 2008-07-05 00:05 hourly.6
drwxr-xr-x 4 root root 4096 2008-07-04 21:05 hourly.7
drwxr-xr-x 4 root root 4096 2008-06-22 06:04 weekly.0
drwxr-xr-x 4 root root 4096 2008-06-15 09:05 weekly.1
drwxr-xr-x 4 root root 4096 2008-06-08 06:04 weekly.2

¿Cómo restauro la copia de seguridad?

Digamos que le gustaría restaurar una copia de seguridad para www.example.com. Escriba el comando de la siguiente manera (seleccione día y fecha desde ls -l salida):


# cd /raiddisk/snapshots/
# ls -l
# cd hourly.0/www.example.com/
# scp -r var/www/ Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/var/www/
# scp -r etc/httpd/ Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:/etc/httpd/

 

¿Cómo excluyo archivos de la copia de seguridad?

Para excluir archivos de la copia de seguridad, abra el archivo rsnapshot.conf y agregue la siguiente línea:

exclude_file	/etc/rsnapshot.exclude.www.example.com

Cree /etc/rsnapshot.exclude.www.example.com de la siguiente manera:

/var/www/tmp/
/var/www/*.cache
Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política