Rsync para novatos

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...


333 2
333 2

Rsync_Icon.jpgRsync 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.

Esta aplicación está disponible en Mac OS X a través del Terminal. Sus opciones son muy amplias (y llegan a ser complejas para los no iniciados) así que hoy vamos a ver el funcionamiento de Rsync desde una perspectiva simple que nos permita disponer de una copia de seguridad inmediata de una carpeta en la que tenemos una serie de documentos en los que estamos trabajando.

Ejemplo

Imaginemos (como es el caso) que estamos trabajando en un proyecto muy importante del que queremos mantener una copia de seguridad actualizada al minuto para que no se pierda ni un solo documento en el caso de que haya un problema. Para ello, vamos a crear una acción de carpeta que dispare un script que ejecute Rsync de forma que cuando guardemos un documento o añadamos un documento nuevo a la carpeta inmediatamente se sincronice con la carpeta de destino, de forma que independientemente de nuestra copia de seguridad de Time Machine (o por otros medios), dispongamos de una copia de seguridad adicional actualizada con los ultimísimos cambios.

Lo primero que vamos a hacer es abrir el Editor de Scripts y añadir esta línea:

on adding folder items to this_folder after receiving added_items

try

do shell script "rsync -at --delete /Volumes/UFO/Cursos /Volumes/TARDIS"

end adding folder items to

  1. do shell script ” “: es lo que indica a Applescript que tiene que ejecutar un comando de Terminal
  2. rsync -at --delete: es la orden a Rsync. -a indica el modo archivo, t hace que se mantengan las fechas originales de los archivos. --delete elimina de la copia de seguridad los archivos eliminados de la copia original.
  3. /Volumes/UFO/Cursos /Volumes/TARDIS: son las rutas de la carpeta de origen y la de destino. Recuerda que después de rsync -at --delete debes dejar un espacio en blanco y detrás de la ruta a la carpeta de origen, otro espacio para la ruta del disco/carpeta de destino.
  4. Si por algún motivo especial necesitaras la contraseña del administrador y para realizar el proceso te la solicitara y no quieres cuadros de diálogo, añade después de las comillas with administrator privileges

Una vez tengas el script hecho, guardalo en Librería > Scritps > Folder Action Scripts. Ahora tienes que activar las Acciones de Carpeta, haciendo click alternativo con el ratón en la carpeta de origen y activando ese script en concreto para esa carpeta.

A partir de ese momento, cuando añadas un archivo a la carpeta, inmediatamente se sincronizará con la carpeta de la copia de seguridad. Si has modificado algún archivo de la carpeta, también se sincronizará, y si has borrado algún archivo de la carpeta origen, también desaparecerá de la carpeta destino.

Enlaces relacionados

  • Rsync en Wikipedia (algunos textos)
  • Rsync en Apple (man Rsync)

  • Categorías para este artículo

    Añade un comentario

    2 comments

    1.   

      Muy buena entrada, la verdad que el editor de scripts es todo un mundo.
      Gracias por dar a conocer estas funcionalidades del sistema.

    2.   

      … y son la razón por la que me hice seguidor de faq-mac.

      salu2