Resumen
El comando rsync de Linux transfiere y sincroniza archivos o directorios de manera eficiente entre una máquina local, un servidor remoto o cualquiera de estos, ayudando a mejorar la productividad y eficiencia del mismo.
Detalles
Sincronizar carpetas o copiar archivos manualmente puede llevar mucho más tiempo, por ello rsync es una mejor opción, ya que hace todo el trabajo en una cantidad menor de tiempo. Incluso si pierdes la conexión durante la transferencia, esta herramienta continuará exactamente donde se quedó, una vez que se restablezca la conexión.
Ventajas
- Sincroniza de forma eficiente archivos y directorios entre dos sistemas Linux.
- Soporta la copia de enlaces simbólicos, y mantiene permisos, propietarios y grupos.
- Consume menos ancho de banda, ya que realiza la compresión y descompresión de los datos en ambos extremos con cada envío y recepción de los mismos.
Para instalar rsync en un servidor Linux debe realizar con el comando:
apt-get install rsync
La sintaxis básica es:
rsync opciones origen destino
En opciones puede agregar las siguientes:
- -v: salida detallada, muestra los detalles de la transferencia.
- -h: muesta una salida legible para humanos.
- -r: copia los datos de forma recursiva, pero no conserva las fechas ni los permisos de los datos de origen.
- -a: modo de archivo, permite la sincronización de modo recursivo, conserva todos los permisos de archivo, enlaces simbólicos, propiedad de archivos, etc.
- -z: comprime archivos y datos durante las transferencias para ahorrar espacio.
Un consejo cuando vaya ha utilizar el comando rsync, es ejecutar antes el comando screen, con el fin de que si se cierra o pierde la sesión actual con el servidor, el comando se seguirá ejecutandose hasta finalizar.
Ejemplos del comando rsync:
- Copiar/sincronizar un elemento localmente (dentro del mismo servidor).
rsync -zvh /root/backups .
NOTAS:
- El punto al final de la línea del ejemplo indica el directorio actual en que se encuentra.
- Si se cierra la ruta con / se va a copiar el contenido de la misma directamente, no estará dentro de la carpeta correspondiente.
- Si vuelve a ejecutar el comando después de un tiempo, éste lo que va a realizar es una copia incremental, donde solo va a transferir los documentos y/o carpetas de la carpeta original que la carpeta destino no tiene contenida.
- Copiar/sincronizar elementos remotamente
rsync -avz /var/www/vhosts/prueba/proxadmin/ root@195.160.0.78:/home/
El comando copia el directorio local de «/proxadmin» al directorio «/home» de un servidor remoto.
- Eliminando archivos en el destino
Es cuando se sincroniza las dos carpetas y eliminar los elementos del duplicado que no estén presentes en la carpeta original.
rsync -av –delete rutaoriginal/ rutaduplicate/
________________________________________________________________________________________________
Para mayor información contactar a servicio@rolosa.com