miércoles, 1 de junio de 2016

Usando rsync en una red

Uno de los verdaderos encantos de rsync es que puede usarse para copiar archivos a través de una red. Después de todo, la "r" de rsync significa "remoto". La copia remota puede hacerse de dos formas. La primera es con otro sistema que tenga rsync instalado, junto con un programa de shell remoto como ssh. Digamos que tenemos otro sistema en nuestra red local con mucho espacio disponible en el disco duro y queremos realizar una operación de copia de seguridad usando el sistema remoto en lugar de un disco externo. Asumiendo que ya hay un directorio llamado /backup donde podríamos depositar nuestros archivos, podríamos hacer ésto:

[me@linuxbox ~]$ sudo rsync -av --delete --rsh=ssh /etc /home /usr/local remote-sys:/backup

Hemos hecho dos cambios en nuestro comando para facilitar el copiado a través de la red. Primero, hemos añadido la opción --rsh=ssh, que le dice a rsync que use el programa ssh como su shell remoto. De esta forma, podemos usar un tunel ssh encriptado para transferir datos con seguridad desde el sistema local hasta el host remoto. Segundo, hemos especificado el host remoto añadiendo su nombre (en este caso el host remoto se llama remote-sys) como prefijo de la ruta de destino.

La segundo forma en que podemos usar rsync para sincronizar archivos a través de una red es usando un servidor rsync. rsync puede configurarse para funcionar como un demonio y escuchar solicitudes remotas de sincronización. Ésto se hace a menudo para realizar copias espejo de un sistema remoto. Por ejemplo, Red Hat Software mantiene un gran repositorio de paquetes de software en desarrollo para su distribución Fedora. Es útil para testeadores de software replicar esta colección durante la fase de testeo del ciclo de publicación de la distribución. Como los archivos en el repositorio cambian con frecuencia (a menudo más de una vez al día), es recomendable mantener una copia espejo local con sincronización periódica, en lugar de copiar todo el repositorio. Uno de esos repositorios está alojado en Georgia Tech; podríamos clonarlo usando nuestra copia local de rsync y su servidor rsync así:

[me@linuxbox ~]$ mkdir fedora-devel
[me@linuxbox ~]$ rsync -av -delete rsync://rsync.gtlib.gatech.edu/fedora-linux-core/development/i386/os fedora-devel

En este ejemplo, hemos usado la URI del servidor rsync remoto, que consiste en un protocolo (rsync://), seguido del nombre de host remoto (rsync.gtlib.gatech.edu), seguido de la ruta del repositorio.

No hay comentarios:

Publicar un comentario