
Bueno primero entendemos un poco que es Rsync y que mejor explicación que la de la wikipedia:
rsync es una aplicación de software para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos. Una característica importante de rsync no encontrada en la mayoría de programas o protocolos es que la copia toma lugar con sólo una transmisión en cada dirección. rsync puede copiar o mostrar directorios contenidos y copia de archivos, opcionalmente usando compresión y recursión.La ventaja de rsyn contra cualquier otro método de copiado de archivos es que rsync no copia lo que no debe, solo copiara lo que está descatualizado en su destino, con opciones de borrar lo que no está en el origen, omitir archivos, seguir enlaces y demas...
El uso es muy muy simple, tanto en caso local:
rsync -a --delete /home /mnt/backup
como remoto:
rsync -a --delete ./pagina usuario@server.com:/var/www/htdocs
De este modo se puede tener un directorio sincronizado en otra computadora.
¿En que nos puede servir?
Si sos programador web es una herramienta muy copada para subir cambios de una web a su servidor, si se sigue el modo de trabajo "server de prueba"==="server final", jeje, y está todo absolutamente testeado, se puede subir la copia exacta del arbol de directorios, borrar los archivos que ya no se usen y asegurarnos de no subir nada de mas y con la seguridad de hacerlo mediante ssh, encriptado desde que sale hasta que llega, y así evitar sniffers, o spoofings y etc.
Para hacer una sincronización a un server se necesita:
- Rsync instalado en el cliente y en el server (preferentemente la misma versión)
- Servidor ssh (sshd) del lado del servidor
rsync -a --delete /path/del/site usuario@server:/path&remoto
Donde -a es un parametro que agrupa una serie de opciones para copiar archivos y --delete borra cualquier archivo que esté en el servidor y no en nuestra copia, un ejemplo real podria ser:
rsync -a --delete /home/exos/alpha/mipagina/www exos@exodica.com.ar:/var/www/htdocs
Facil de usar, seguro, confiable, libre :-)
0 comentarios:
Publicar un comentario