Rsync

De WikiSalud
Saltar a: navegación, buscar

rsync es una aplicación de código abierto funcional tanto para sistemas Unix como para Microsoft Windows, esta aplicación permite transferir datos de manera incremental, es decir, permite la sincronización de ficheros y/o archivos entre dos ubicaciones diferentes (Misma máquina o misma red).

rsync es muy útil para hacer respaldos ya que por ser una aplicación que sincroniza archivos, evita la copia desde el inicio de los ficheros de un lugar a otro.

Contenido

Características

  • Permite la copia de: enlaces, ficheros de diferentes dispositivos, propietarios, grupos y permisos.
  • Realiza copias de seguridad de manera más rápida y segura.
  • Permite excluir, es decir, permite indicarle que ficheros no queremos sincronizar.
  • Puede utilizarse cualquier consola remota (ej. rsh, ssh)
  • Puede ser utilizado con usuario sin privilegios.


Instalación

Debian

Como usuario root ejecutar la siguiente línea.

aptitude install rsync

Windows

  1. Descargar cwrsync (cwrsync)
  2. Ejecutar el instalador
  3. Se abrirá el asistente para realizar la instalación de cwRsync, presionar Siguiente
    Asistente de Instalación
  4. Mostrará la licencia del programa, si esta de acuerdo con los términos Aceptar
    Asistente de Instalación - Licencia
  5. Seleccionar los componentes que se instalarán
    Asistente de Instalación - Componentes a instalar
  6. Seleccionar la ubicación en donde quedarán los archivos de configuración (Dejar por default recomendado)
    Asistente de Instalación -  Ubicación de archivos de configuración
  7. Comenzará la instalación, mostrará el proceso
    Asistente de Instalación - Progreso de la instalación
  8. Finalizar la instalación.
  9. Ir a Archivos de ProgramacwRsync y encontrará los archivos de configuración de la aplicación.
    Irsync06.png
  10. Generar un path de la ubicación de los ficheros de configuración
    1. Dar clic derecho en Mi PCOpciones avanzadasVariables de entorno
    2. Seleccionar la variable Path y dar clic en Modificar
    3. Agregar al final el signo ; para separar el path anterior con el que se ingresará
    4. Agregar la ubicación de la que necesita el path C:\Archivos de programa\cwRsync\bin
      Path cwRsync

Generar clave rsa

Esta clave debe copiarse en el fichero authorized_keys en .ssh/ para poder realizar la conexión en la maquina destino.

Debian

  1. Ingresar a la terminal
  2. Ejecutar la siguiente línea
    ssh-keygen -t rsa
  3. Copiar la clave generada (/home/usuario/.ssh/id_rsa.pub) al fichero de la maquina destino
    .ssh/authorized_keys

Windows

  1. Ingresar a la línea de comandos
  2. Ir a c:\program files\cwrsync\bin
    cd "c:\program files\cwrsync\bin"
  3. Ejecutar la siguiente línea
    ssh-ssh-keygen -t rsa -N ''
  4. Copiar la clave generada (c:/Documents and Settings/Usuario/ssh/id_rsa.pub) al fichero de la maquina destino
    .ssh/authorized_keys

Utilizar rsync

Al momento de utilizar rsync debe tener los datos del cual será el destino del respaldo.

Sintaxis

  • Si el respaldo se realiza de manera local (en el mismo computador):
    rsync Opción Ubicación del archivo origen Destino


  • Hay dos maneras diferentes para rsync contactar a un sistema remoto:
    • El uso de un programa de control remoto-shell como el transporte (como ssh o rsh)
      rsync Opciones ssh UsuarioRemoto@ipRemota:/UbicaciónDestino
    • Conectarse con el demonio rsync a través de TCP.

Opciones para ejecutar con rsync

Opción Abreviatura Significado
--verbose -v Aumenta la verbosidad
--quiet -q Suprime los mensajes sin errores
--no-motd Suprime en modo demonio MOTD
--cheksum -c Verifica sobre la base de la suma de comprobación
--no-OPTION Desactiva una opción
--recursive -r Modo recursivo para directorios
--relative -R Utiliza nombres de las rutas relativas
--no-implided-dirs No realiza envío de directorios implícitos
--backup -b Realizar copia de seguridad
--backup-dir=DIR Realiza copia de seguridad con jerarquía basada en un directorio
--sufix=SUFIX Indica el sufijo del respaldo
--update -u Omite ficheros que son mas recientes en el receptor
--inplace Actualiza los archivos en un lugar de destino
--append Añade datos en ficheros mas pequeños
--dirs -d Trasfiere directorios sin recursividad
--links -l Copia enlaces simbólicos
--copy-links -L Transforma un enlace simbólico a un fichero
--safe-links Ignora los enlaces simbólicos que apuntan fuera del árbol
--copu-unsafe-links Sólo los enlaces simbólicos no seguros se transforan
--copy-dirlinks -k Transforma un enlace simbólico a un directorio específico
-- keep-dirlinks -K Trata un enlace simbólico como directorio en el receptor
--hard-links -H Conserva los enlaces duros
--perms -p Conserva permisos
--executability -E Conserva la ejecutabilidad
--chmod=CHMOD Afecta los permisos del archivo o directorio
--acls -A Conserva las ACLs
--xattrs -X Conserva los atributos extendidos
--ignore-times -I No omite ficheros que coinciden con tamaño y tiempo
--compress -z Comprime archivo durante la transferencia
--progress Muestra el progreso de transferencia
--delete Borra en destino las carpetas y/o archivos que no se encuentren en el origen
Nota: Para más opciones consulte el manual de rsync

Realizar respaldo con rsync por ssh

Respaldo desde debian

  1. Abrir la terminal
  2. Ejecutar el siguiente comando
    rsync -av -e ssh directorio/ usuario@ip:ubicación/
    Donde:
    La opción a indica que conserva los permisos originales del fichero o directorio mientras sea posible,
    La opción v muestra las líneas con el contenido de lo que esta ejecutando.
    Con el comando -e ssh se indica que el medio de transferencia de archivos será ssh.
    Ejemplo:
    Línea de comandos de rsync por ssh
    En la imagen se muestra la transferencia de un directorio (directorio1) al /home del usuario administrador con IP 192.168.XX.XX
  3. Confirmar la conexión por ssh (Esto solamente sucede la primera vez que realiza la conexión)
    Confirmación de conexión
  4. Ingresar la contraseña de la máquina destino
    Ingresar contraseña
  5. Comenzará la transferencia de lo indicado, se presentará la información de lo que se esta ejecutando.
    Información de transferencia

Si utiliza el comando --progress al momento de ejecutarse la copia de ficheros se presenta el porcentaje del progreso del respaldo. Asi:

  1. Línea a ejecutar
    rsync -avh --progress -e ssh ficheros/ usuario@IP:ubicación/
    Sintaxis para mostrar progreso de copia
  2. Mostrará la transferencia de archivos de la siguiente manera
    Transferencia de Archivos mostrando progreso

Respaldo desde Windows

  1. Abrir la terminal
  2. Ejecutar la siguiente línea de comandos
    rsync -avh "/cygdrive/c/documents and settings/usuario/UbicaciónFicheros" -e ssh usuario@IP:destino/
    Donde:
    La opción a indica que conserva los permisos originales del fichero o directorio mientras sea posible,
    La opción v muestra las líneas con el contenido de lo que esta ejecutando.
    Y la opción h mostrará números de salida en un formato legible para el usuario
    Con el comando -e ssh se indica que el medio de transferencia de archivos será ssh.
    Rsync consola windows
  3. Confirmar la conexión por ssh, preguntará cada vez que realice la conexión.
    Confirmar conexión
  4. Ingresar la contraseña de la maquina destino
    Contraseña de la maquina destino
  5. Comenzará la transferencia de los archivos indicados, se presentará la información de lo que se este ejecutando.

Si utiliza el comando --progress al momento de ejecutarse la copia de ficheros se presenta el porcentaje del progreso del respaldo. Asi:

  1. Línea a ejecutar
    rsync -avh --progress "/cygdrive/c/documents and settings/usuario/UbicaciónFicheros" -e ssh usuario@IP:destino/
    Sintaxis para mostrar progreso de copia
  2. Mostrará la transferencia de archivos de la siguiente manera
    Transferencia de Archivos mostrando progreso

Programar Respaldos

Debian

  1. Ingresar a la terminal
  2. Con el usuario de la maquina crear un fichero con el nombre de rsync.sh, dicho archivo debe contener lo siguiente:
     rsync --archive --update --verbose --human-readable --hard-links --stats $ruta_respaldo/ administrador@$servidor_respaldo:$ruta_respaldo_remoto
  3. Autenticarse como root
  4. Ir a /etc/cron.d/ y crear el fichero respaldo que contenga la siguiente información
# Diario
00 04   * * *           usuario    /home/usuario/rsync.sh


Donde:

Opción Descripción
00 Indica los minutos en el que se ejecutará la operación
04 Indica la hora en la que se ejecutará la operación
* * *

DíaDelMes Mes DíaDeLaSemana

Indica los días en el que se ejecutará el script
(Ej. 21 05 *    significa que lo realizará el 21 de Mayo,
* * Vie significa que lo realizará todos los Viernes)
usuario Indica el usuario que ejecutará la órden.
/home/usuario/rsync.sh Indica la ruta y el script que se debe ejecutar.

Windows

Para realizar tareas programadas, debe configurar en windows de la siguiente manera:

  1. Ir a InicioTodos los programasAccesoriosHerramientas del SistemaTareas Programadas
    Tarea programada Windows
  2. Aparecerá una ventana, en esta realizará la configuración de la tarea programada, dar doble clic en Agregar tarea programadaTarea Programada
  3. Se abrirá el asistente para crear la tarea programada, primero presenta información acerca de lo que realizará, dar clic en Siguiente Asistente de creación de una tarea programada
  4. Ingresar la ruta de la aplicación que se debe ejecutar en la tarea
    ruta de aplicación - Asistente de creación de una tarea programada
    Elegir Examinar si la aplicación no aparece en el listado y buscar la ubicación de esta
    Examinar - Asistente de creación de una tarea programada
    Para rsync, ir a C:/Archivos de Programa/cwRsync/bin/rsync
  5. Asignar nombre y tiempo en el que se ejecutará la tarea programada
    Nombre y período - Asistente de creación de tarea programada
  6. Si es necesario, seleccionar hora y fecha del inicio de la tarea programada
    Programación de hora y fecha - Asistente de creación de una tarea programada
  7. Ingresar la contraseña del usuario desde el cual se realizará la tarea programada
    Contraseña del Usuario - Asistente de creación de Tarea Programada
  8. Se presentará información de la tarea programada que esta creando, dar clic en Finalizar
    Finalizar la creación de la tarea programada - Asistente
  9. Al regresar a la ventana de las tareas programadas, notar que aparece la tarea que se acaba de crear
    Tareas programadas
  10. Al dar doble clic sobre la tarea programada, se abrirá un cuadro de dialogo que mostrará las opciones avanzadas
    Edición avanzada de tareas programadas
  11. Agregar para ejecutar los valores necesarios para realizar la sincronización de la copia de archivos
    Agregar parametros a ejecutar
    Debe quedar de la siguiente manera: "C:\Archivos de programa\cwRsync\bin\rsync.exe" -avh "/cygdrive/c/UbicaciónDelDirectorio/" -e ssh usuario@192.168.XX.XX:/Destino/"
  12. Aplicar los cambios y cerrar el cuadro de dialogo.
  13. Verificar que se haga la sincronización de la copia al tiempo en el que se a configurado
Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas