Los sistemas operativos Linux nos ofrecen una serie de comandos especiales para todo lo relacionado con el trabajo y gestión de archivos, procesos y servicios y uno de estos comandos es especial para tareas de clonación y es Rsync. Rsync se ha desarrollado como una utilidad de copia de archivos versátil, remota que puede ser usada de forma local.
Rsync puede ser usada para realizar copias localmente, hacia o desde otro usando un shell remoto o bien hacia o desde un demonio rsync remoto, una de las ventajas de Rsync es que hace uso de un algoritmo de transferencia delta, con el cual se busca reducir la cantidad de datos que son transferidos en la red, con esto se busca enviar únicamente las diferencias existentes entre los archivos de origen y los archivos que ya están creados en el destino, esto permite que los cambios en los atributos conservados sea ejecutado directamente en el archivo de destino.
- Integra un modo de exclusión CVS que permite ignorar los archivos que CVS ignora.
- Cuenta con soporte para copiar enlaces, dispositivos, propietarios, grupos y permisos de los archivos.
- Permite excluir opciones similares a GNU tar.
- Compatible con los shell remoto como ssh o rsh.
- Cuenta con canalización de transferencias de archivos la cual permite minimizar los costos de latencia.
- Ofrece soporte para demonios rsync anónimos o autenticados.
Ahora vamos a ver cómo clonar un servidor CentOS 8 a otro con Rsync.
1. Cómo clonar un servidor CentOS 8 a otro con Rsync
El servidor de destino dispone de la IP 192.168.0.12:
El servidor de origen cuenta con la IP 192.168.0.11:
rsync –version
Si deseamos detalles adicionales de Rsync debemos ejecutar la siguiente orden:
rpm -qi rsync
En caso de que Rsync no este instalado en CentOS 8, debemos instalarlo con el siguiente comando:
sudo yum install rsync
sudo nano /root/exclude-files.txt
En este archivo ingresamos lo siguiente:
· /boot · /dev · /tmp · /sys · /proc · /backup · /etc/fstab · /etc/mtab · /etc/mdadm.conf · /etc/sysconfig/network*
Guardamos los cambios con las teclas Ctrl + O y salimos del editor con las teclas Ctrl + X.
sudo rsync -vPa -e “ssh -o StrictHostKeyChecking=no” --exclude-from=/root/exclude-files.txt / IP_REMOTA:/Podemos ver que se copian los archivos en la IP del equipo remoto.
Con este sencillo pero funcional comando podemos clonar nuestro servidor en poco tiempo.