GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo Rsync archivos entre dos servidores Linux automáticamente

Configurar un servidor de respaldo para hacerse cargo de las operaciones de un servidor principal cuando se convierte en víctima de problemas de tiempo de inactividad del servidor es un conjunto de habilidades que la mayoría de los usuarios de Linux y todos los administradores de Linux deben dominar. Te evita tener que preocuparte por el “¿qué pasaría si ” escenarios.

Por lo tanto, en el peor de los casos, en el que algunos tecnicismos o intentos de vulneración del servidor pueden provocar la caída temporal o permanente de su servidor principal, siempre puede confiar en la presencia de un servidor de respaldo que está configurado para funcionar como un entorno de servidor gemelo del principal/principal. servidor.

[ También te puede interesar:Cómo sincronizar dos servidores web en Linux automáticamente ]

El servidor de respaldo garantiza que no pierda las configuraciones de datos importantes del sistema y los archivos de usuario.

Instalación de Rsync en Linux

Ahora que comprende la importancia de tener dos servidores sincronizados, es hora de un tutorial sobre cómo lograr el objetivo de este artículo. Vamos a necesitar dos servidores activos y en funcionamiento junto con sus respectivas direcciones IP o nombres de dominio.

  • La dirección IP del servidor Principal/Principal:3.135.207.xx .
  • La dirección IP del servidor de respaldo/secundario:18.118.208.xx

Para sincronizar con éxito estos dos servidores automáticamente, necesitaremos la ayuda de rsync utilidad. Independientemente de la distribución del servidor Linux que esté utilizando, instale rsync desde uno de los siguientes comandos de instalación de Linux.

Su instalación debe realizarse tanto en su servidor primario/principal como en su servidor secundario/de respaldo.

$ sudo apt-get install rsync     [On Debian, Ubuntu and Mint]
$ sudo yum install rsync         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a net-mis/rsync   [On Gentoo Linux]
$ sudo pacman -S rsync           [On Arch Linux]
$ sudo zypper install rsync      [On OpenSUSE]    

Sincronización de archivos de directorio de destino en Linux mediante Rsync

Por ejemplo, supongamos que el servidor principal/principal (3.135.207.xx ) tiene el directorio LinuxShellTips con los siguientes archivos resaltados que necesitan sincronizarse con el servidor de respaldo/secundario (18.118.208.xx ).

$ ls

Necesitamos acceder al servidor de respaldo/secundario (18.118.208.xx ) y cree un directorio similar que alojará los archivos del servidor principal/principal (3.135.207.xx ) cuando comience el proceso rsync.

$ mkdir LinuxShellTips_Backup
$ cd LinuxShellTips_Backup

Sincronización de directorios usando Rsync en Linux

Desde rsync admite el uso de ssh protocolo, la seguridad de acceso al servidor está garantizada. Para probar manualmente cómo rsync realiza entre estos dos servidores, vamos a ejecutar el siguiente comando.

Estamos ejecutando este comando desde el servidor de respaldo/secundario (18.118.208.xx ).

$ sudo rsync -avzhe ssh [email protected]:/home/ubuntu/LinuxShellTips/ /home/ubuntu/LinuxShellTips_Backup 

Como ha notado, los tres archivos del servidor principal/principal (3.135.207.xx ) se han copiado correctamente en el servidor de respaldo/secundario (18.118.208.xx ).

Sincronizar directorios automáticamente usando Rsync en Linux

Necesitamos realizar los siguientes dos pasos para automatizar completamente rsync.

Paso 1:configurar el inicio de sesión sin contraseña SSH

Mientras ejecuta el comando anterior para probar rsync , se le debería haber pedido la contraseña de acceso al servidor principal/principal. Para deshacernos de las solicitudes de contraseña al sincronizar sus servidores, necesitamos generar una clave pública y privada.

Use el siguiente comando en su servidor de respaldo/secundario:

$ sudo ssh-keygen -t rsa -b 2048

Presiona [Entrar ] cuando se le solicite una frase de contraseña para dejar el campo en blanco y copiar las claves públicas y privadas generadas en su servidor principal/principal.

$ sudo ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

Ahora puede ejecutar cómodamente el rsync cubierto anteriormente comando sin proporcionar una contraseña de acceso al servidor para el servidor principal/principal.

$ sudo rsync -avzhe ssh [email protected]:/home/ubuntu/LinuxShellTips/ /home/ubuntu/LinuxShellTips_Backup 

Paso 2:configurar un trabajo cron para automatizar Rsync

Desde SSH El inicio de sesión sin contraseña entre estos dos servidores ahora es posible, el paso final para automatizar el proceso rsync es crear un trabajo cron editando el archivo crontab en el servidor de respaldo/secundario.

$ sudo crontab -e

Edite el archivo crontab creando un programa de trabajo cron para sincronizar los archivos de directorio de sus dos servidores Linux.

*/5    *    *     *     *  sudo rsync -avzhe ssh [email protected]:/home/ubuntu/LinuxShellTips/ /home/ubuntu/LinuxShellTips_Backup

Guarde y cierre el archivo crontab.

El trabajo cron implementado anteriormente sincronizará automáticamente el servidor de respaldo/secundario con el servidor principal/primario cada 5 minutos.

La sincronización de dos servidores crea la solución perfecta para los problemas de tiempo de inactividad del servidor y los errores de registro del servidor. Tampoco tiene que preocuparse por perder sus archivos de datos de usuario y del sistema, ya que el servidor de respaldo albergará una copia completa de esos archivos.


Linux
  1. Cómo transferir archivos entre dos computadoras usando los comandos nc y pv

  2. Cómo unir dos archivos de texto en Linux

  3. Linux:¿cómo eliminar archivos creados entre dos veces?

  4. ¿Cómo usar el comando Rsync en Linux?

  5. Cómo copiar una gran cantidad de archivos rápidamente entre dos servidores

Cómo descargar archivos desde servidores Linux remotos

Cómo comparar dos archivos en la terminal de Linux

Cómo sincronizar dos servidores web en Linux automáticamente

Cómo configurar un demonio Rsync en su servidor Linux

Cómo usar Rsync para copiar/sincronizar archivos entre servidores

Diferencia en espacios en blanco entre dos archivos en Linux