SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Backups con rsync
Por Carlos Antonio Leal saballos
Agenda
● Introduction
● Características de rsync
● rsync funcinamiento
● Trabajando con rsync
● rsync - Backups Incrementales
● Incluyendo y excluyendo ficheros del backup
● rsync remoto
Introducción
● rsync es una herramienta que permite hacer respaldos
ya sean locales o remotos
● rsync es una herramienta para realizar respaldos de
archivos y directorios
● Tiene su contraparte en Windows llamado Cygwin, el
cual opera sin ningún problema de interoperabilidad
Introducción
● Dos componentes importantes:
– Un algoritmo de delta compresión para respaldar
únicamente los archivos que han cambiado
– Un sistema mirroring para transferir datos (archivos y
directorios) de un lugar a otros con el menor consumo de
ancho de banda posible
Características de rsync
● Soporte para copiar enlaces, archivos, archivos de dispositivo, con
sus propietarios, grupos y permisos
● Se puede usar cualquier shell remota transparente, como ssh o rsh
● No es necesario ser root para usarlo
● pipelining de archivos transferidos para minimizar la latencia
● Soporte para usuarios anónimos o autentificados usando el
demonio de rsync (para hacer mirroring)
● Opciones de exclusión (exclude y exclude-from) similares a las del
GNU tar
● Modo CVS para ignorar los archivos que CVS ignoraría
rsync funcinamiento
● A nivel de un árbol de directorios con sus archivos, la idea es
sencilla. Rsync copiará ficheros y directorios tal y como estaban
en el origen.
● Al realizar una sincronización no se copia todo, sino sólo lo que
ha cambiado en el origen respecto al destino.
● El comando scp hace lo mismo, pero desperdicia ancho de banda
sobre escribiendo archivos que no han cambiado
rsync funcionamiento
● A nivel de archivos individuales, imaginemos un archivo enorme
(varios GB) de una base de datos.
● Con cp se necesita copiar todo el archivo, desperdiciando tiempo
y recursos del sistema, porque la inmensa mayoría de bloques
del archivo no ha cambiado.
● rsync analiza el archivo de origen y el de destino y sólo
transmite (de forma comprimida, además) las partes que
realmente hayan cambiado.
● Muchas distribuciones de Linux utilizan rsync para sincronizar
sus repositorios
rsync funcionamiento
● Los detractores rsync mencinan que el algoritmo utiliza
demasiada memoria y consume mucho procesador.
● También mencionan que no gestiona adecuadamente
archivos comprimidos y que hasta es capaz de corromper la
información
● Como usuario neutral recomiendo su uso racional
● Todo se resume en seleccionar las opciones correctas
Trabajando con rsync
● En su forma más sencilla de uso, es similar a un cp
– rsync -v archivo1.txt archivo2.txt
Creará una copia de archivo1.txt llamada archivo2.txt
La opción -v es para recibir información detallada
Al ejecutar con root, no mantiene los permisos
● No funciona con directorios
– rsync -v Directorio1 Directorio2
Trabajando con rsync
● Para funciones de backup no hay como la opción -a
– rsync -av Directorio1 Directorio2
-a: Esta opción combina el parámetro -r (recursivo), el -l (enlaces
simbólicos), la -p (mantener permisos), la -t (mantener la hora), la -
g (mantenga el grupo), la -o (mantenga el propietario), la -D (mantener
los ficheros de dispositivo (sólo para root)).
NO se mantienen los hard links (-H) ni las ACLs (-A).
La opción -a realiza s una copia exacta de una jerarquía de ficheros y
directorios.
Trabajando con rsync
● Al crear un nuevo directorio, rsync sincronizará los
cambios
– mkdir Directorio1/Data
– rsync -av Directorio1 Directorio2
Simplemente se sincronizan el nuevo directorios
● Igual si se trata de un archivo
– echo “hola mundo” > Directorio1/Data/saludo.txt
– rsync -av Directorio1 Directorio2
Trabajando con rsync
● Al modificar un archivo
– echo “hola mundo otra vez” >> Directorio1/Data/saludo.txt
– rsync -av Directorio1 Directorio2
● rsync sincroniza todo el archivo, no es un error, pero se puede
mejorar con la opción --no-whole-file
– rsync -av --no-whole-file Directorio1 Directorio2
● La opción -z comprime el bloque antes de enviarlo
– rsync -avz --no-whole-file Directorio1 Directorio2
● Ambas opciones disminuyen el consumo de ancho de banda pero
incrementan el uso de procesador y memoria.
Trabajando con rsync
● rsync para decidir su un archivo ha cambiado normalmente sólo
mira la fecha del archivo y su tamaño, si ninguna de las dos cosas
cambia, rsync lo copiará.
● En algunos escenarios muy especiales (Bases de Datos por
ejemplo) puede ocurrir que dos archivos con la misma fecha y
tamaño sean diferentes, la opción -c permite calcular el checksum
para determinar si realmente los ficheros son iguales, esto implica
también mayor impacto en el procesador y la memoria
– rsync -acvz --no-whole-file Directorio1 Directorio2
Trabajando con rsync
● Poner o no poner las barras al final de los nombre del
directorio tienen implicaciones distintas
– /path/foo significa el directorio foo
– /path/foo/ significa lo que hay dentro de foo
● A continuación algunos ejemplos para entenderlo
mejor
Trabajando con rsyn
● Dos directorios sincronizados y exactamente
iguales
– rm -Rf Directorio2
– rsync -av Directorio1/ Directorio2/
● Se comprueba con ls -al Directorio2
– rm -Rf Directorio2
– rsync -av Directorio1/ Directorio2
● Se comprueba con ls -al Directorio2
Trabajando con rsyn
● Copiar Directorio1 dentro de Directorio2
– rm -Rf Directorio2
– rsync -av Directorio1 Directorio2
● Se comprueba con ls -al Directorio2
– rm -Rf Directorio2
– rsync -av Directorio1 Directorio2/
● Se comprueba con ls -al Directorio2
Trabajando con rsync
● Eliminando archivos que ya no necesitan estar en el
respaldo
– touch Directorio2/archivoviejo.txt
– rsync -av --delete Directorio1/ Directorio2/
● Se debe proceder con cuidado, si no especificamos
bien el directorio de destino puede ocurrir un gran
desastre
Trabajando con rsync
● Otra opción interesante puede ser –u para que no sobre-escriba
los archivos si son más recientes
– touch Directorio1/archivonuevo.txt
– rsync -av --delete Directorio1/ Directorio2/
● Actualizar la fecha del archivo en el respaldo
– touch Directorio2/archivonuevo.txt
– rsync -av --delete -u Directorio1/ Directorio2/
● Se debe proceder con cuidado, si no especificamos bien el
directorio de destino puede ocurrir un gran desastre
rsync - Backups Incrementales
● Supongamos que tenemos dos
directorios Directorio1 y Directorio2 perfectamente sincronizados y
actualizamos un archivo en el directorio origen:
– rsync -av Directorio1/ Directorio2/
– echo prueba >> Directorio1/archivo1
● Si volvemos a sincronizar rsync borrará la versión anterior del archivo1
para dejar la nueva versión, si no queremos eliminar la versión previa se
puede utilizar la opción –b
rsync - Backups Incrementales
rsync -avvb --delete --backup-dir=$PWD/rsync/backup_$(date +%y%m%d%H%M) Directorio1/ Directorio2/
– Esto creará un directorio “rsync/backup con al fecha” en la ruta que estemos utilizando,
– Es importan que estos backups incrementales no estén dentro de ninguno de los directorios que se estén
sincronizando para evitar duplicidad y/o eliminación por el mismo efecto del respaldo.
rsync - Backups Incrementales
● También podemos hacer backups incrementales con las opciones:
– --compare-dest=DIR: Es como un backup incremental sólo se tiene en el directorio
destino los ficheros que han cambiado desde el último backup
– --compare-dest, está la --copy-dest=DIR, que hace lo mismo que la anterior pero
además copia los ficheros que no hayan cambiado. ¡Pero ojo!, la ventaja de esta
opción es que la copia de los ficheros que no han cambiado es local, de forma que en
un rsync remoto, todos los ficheros que ya estaban en DIR no se tienen que
transferir. La desventaja es que necesita mucho espacio en disco.
Incluyendo y excluyendo
ficheros del backup
● La mayoría de las veces no se trata de un backup de un único directorio
● Todo administrador de servidores tiene una lista determinada de directorios que
quiere respaldar. También tiene una lista de directorios que no quiere respaldar
● En esos casos, se ejecuta el comando varias veces o se usa una lista de
directorios a respaldar
● Es decir, tener un script de backup que lance rsync con las opciones deseadas
Las opciones son:
– --exclude=PATTERN
– --exclude-from=FILE
– --include=PATTERN
– --include-from=FILE
– --files-from=FILE
Incluyendo y excluyendo
ficheros del backup
● Imaginemos que queremos hacer un backup de los directorios
“/var/log/” y “/var/www/“.
● Podríamos usar un comando como:
rsync -av --delete --include-from=lista_dirs_backup.txt / /media/disco/Backup/
en el que el fichero lista_dirs_backup.txt contiene:
+ /var/
+ /var/www/***
+ /var/log/***
- *
Incluyendo y excluyendo
ficheros del backup
– En la última línea le especificamos con “- *” que todo lo que en ese
punto ya no ha pasado el filtro, que sea descartado.
– Tres asteriscos (***) para especificar que el propio directorio
especificado también pasa el filtro,
rsync remoto
● En la máquina destino es posible usar el propio proceso rsync funcionando como
demonio y escuchando por defecto en el puerto 873 para recibir estas
conexiones, pero es mucho más cómodo y fácil hacerlo por SSH, algo para lo
que rsync ya está preparado por defecto.
– rsync -av --delete dirA usuario@hostremoto:/backup/
– rsync -e "ssh -p 987" --delete dirA usuario@hostremoto:/backup/
Presentación: Backups con rsync
Autor: Carlos Antonio Leal Saballos (lealsaballos@gmail.com)
● Managua, Nicaragua, Octubre del 2013
● Licencia: CC-BY-SA 3.0 Unported
● http://creativecommons.org/licenses/by-sa/3.0/deed.es
● Datos tomados de http://www.vicente-navarro.com – CC-BY-SA 3.0
Por su Atensión
Muchas Gracias

Más contenido relacionado

La actualidad más candente

Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamiento
Oswaldo Monsalvo
 
Memorias ram y rom
Memorias ram y romMemorias ram y rom
Memorias ram y rom
Anita Conde
 
Presentación de Samba
Presentación de SambaPresentación de Samba
Presentación de Samba
Matías Leal
 
Disco duro - Tarjeta de Video
Disco duro - Tarjeta de VideoDisco duro - Tarjeta de Video
Disco duro - Tarjeta de Video
caagpc
 
6.5.1.3 packet tracer layer 2 vlan security instructor
6.5.1.3 packet tracer   layer 2 vlan security instructor6.5.1.3 packet tracer   layer 2 vlan security instructor
6.5.1.3 packet tracer layer 2 vlan security instructor
Salem Trabelsi
 
Basic command ppt
Basic command pptBasic command ppt
Basic command ppt
Rohit Kumar
 
particiones de un disco duro
particiones de un disco duroparticiones de un disco duro
particiones de un disco duro
tecnologia01
 
Tipos de memoria ram
Tipos de memoria ramTipos de memoria ram
Tipos de memoria ram
andres-felipe
 

La actualidad más candente (20)

Board Bringup
Board BringupBoard Bringup
Board Bringup
 
Desfragmentador de disco duro
Desfragmentador de disco duroDesfragmentador de disco duro
Desfragmentador de disco duro
 
CISCO PACKET TRACER
CISCO PACKET TRACERCISCO PACKET TRACER
CISCO PACKET TRACER
 
Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamiento
 
Dell OS10 VLT Architecture Guide.pdf
Dell OS10  VLT Architecture Guide.pdfDell OS10  VLT Architecture Guide.pdf
Dell OS10 VLT Architecture Guide.pdf
 
Ssh telnet
Ssh telnetSsh telnet
Ssh telnet
 
EtherChannel.pptx
EtherChannel.pptxEtherChannel.pptx
EtherChannel.pptx
 
Algoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundaciónAlgoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundación
 
Memorias ram y rom
Memorias ram y romMemorias ram y rom
Memorias ram y rom
 
Presentación de Samba
Presentación de SambaPresentación de Samba
Presentación de Samba
 
Disco duro - Tarjeta de Video
Disco duro - Tarjeta de VideoDisco duro - Tarjeta de Video
Disco duro - Tarjeta de Video
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
6.5.1.3 packet tracer layer 2 vlan security instructor
6.5.1.3 packet tracer   layer 2 vlan security instructor6.5.1.3 packet tracer   layer 2 vlan security instructor
6.5.1.3 packet tracer layer 2 vlan security instructor
 
Basic command ppt
Basic command pptBasic command ppt
Basic command ppt
 
Gns3 paso a paso
Gns3 paso a pasoGns3 paso a paso
Gns3 paso a paso
 
Gestion del almacenamiento secundario
Gestion del almacenamiento secundarioGestion del almacenamiento secundario
Gestion del almacenamiento secundario
 
particiones de un disco duro
particiones de un disco duroparticiones de un disco duro
particiones de un disco duro
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Tipos de memoria ram
Tipos de memoria ramTipos de memoria ram
Tipos de memoria ram
 

Similar a Respaldos con Rsync

Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781
Enrique Villafuerte
 
Chuleta-comandos-Linux-para-no-perderse.pdf
Chuleta-comandos-Linux-para-no-perderse.pdfChuleta-comandos-Linux-para-no-perderse.pdf
Chuleta-comandos-Linux-para-no-perderse.pdf
GabrielLv2
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
victdiazm
 
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubuntu
robertoiglesias
 
Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.
Alan Resendiz
 
Instalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sqlInstalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sql
UPTM
 

Similar a Respaldos con Rsync (20)

copias de seguridad rsync
copias de seguridad rsynccopias de seguridad rsync
copias de seguridad rsync
 
Cómo usar rsync para sincronizar directorios locales y remotos digital ocean
Cómo usar rsync para sincronizar directorios locales y remotos   digital oceanCómo usar rsync para sincronizar directorios locales y remotos   digital ocean
Cómo usar rsync para sincronizar directorios locales y remotos digital ocean
 
Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
 
Chuleta-comandos-Linux-para-no-perderse.pdf
Chuleta-comandos-Linux-para-no-perderse.pdfChuleta-comandos-Linux-para-no-perderse.pdf
Chuleta-comandos-Linux-para-no-perderse.pdf
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 
Linux for bioinformatics
Linux for bioinformaticsLinux for bioinformatics
Linux for bioinformatics
 
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.comADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
 
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubuntu
 
Intro comandos unix
Intro comandos   unixIntro comandos   unix
Intro comandos unix
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol
 
2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol
 
Manual de linux
Manual de linuxManual de linux
Manual de linux
 
Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Instalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sqlInstalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sql
 
LINUX - Comandos básicos I
LINUX - Comandos básicos I LINUX - Comandos básicos I
LINUX - Comandos básicos I
 
Manual linux
Manual linuxManual linux
Manual linux
 

Más de Carlos Antonio Leal Saballos

Más de Carlos Antonio Leal Saballos (20)

Charla - Beneficios de la Membresía ISOC León.pdf
Charla - Beneficios de la Membresía ISOC León.pdfCharla - Beneficios de la Membresía ISOC León.pdf
Charla - Beneficios de la Membresía ISOC León.pdf
 
Charla - Beneficios de la Membresía Juigalpa.pdf
Charla - Beneficios de la Membresía Juigalpa.pdfCharla - Beneficios de la Membresía Juigalpa.pdf
Charla - Beneficios de la Membresía Juigalpa.pdf
 
Principales distribuciones de GNU/Linux en febrero 2019
Principales distribuciones de GNU/Linux en  febrero 2019Principales distribuciones de GNU/Linux en  febrero 2019
Principales distribuciones de GNU/Linux en febrero 2019
 
Principales distros linux 2019
Principales distros linux   2019Principales distros linux   2019
Principales distros linux 2019
 
¿Qué es Linux?
¿Qué es Linux?¿Qué es Linux?
¿Qué es Linux?
 
Administración de Servidores II - Edición 2019
Administración de Servidores II - Edición 2019Administración de Servidores II - Edición 2019
Administración de Servidores II - Edición 2019
 
Internet de las cosas, la nube y sus posibilidades para la educación
Internet de las cosas, la nube y sus posibilidades para la educaciónInternet de las cosas, la nube y sus posibilidades para la educación
Internet de las cosas, la nube y sus posibilidades para la educación
 
Presentacion asignatura de Administración de Servidores II
Presentacion asignatura de Administración de Servidores IIPresentacion asignatura de Administración de Servidores II
Presentacion asignatura de Administración de Servidores II
 
Horarios a publicar irt 2018 2 c.xlsx
Horarios a publicar irt 2018 2 c.xlsxHorarios a publicar irt 2018 2 c.xlsx
Horarios a publicar irt 2018 2 c.xlsx
 
Horarios a publicar isti redes 2018 2 c.xlsx
Horarios a publicar isti redes 2018 2 c.xlsxHorarios a publicar isti redes 2018 2 c.xlsx
Horarios a publicar isti redes 2018 2 c.xlsx
 
Inscripción Temas Seminario 2018-1C
Inscripción Temas Seminario 2018-1CInscripción Temas Seminario 2018-1C
Inscripción Temas Seminario 2018-1C
 
Temas Seminario de Culminación de estudios 2017-3C
Temas Seminario de Culminación de estudios 2017-3CTemas Seminario de Culminación de estudios 2017-3C
Temas Seminario de Culminación de estudios 2017-3C
 
Politica proteccion ninez-y-adolescencia
Politica proteccion ninez-y-adolescenciaPolitica proteccion ninez-y-adolescencia
Politica proteccion ninez-y-adolescencia
 
Politica prevencion-acoso-sexual
Politica prevencion-acoso-sexualPolitica prevencion-acoso-sexual
Politica prevencion-acoso-sexual
 
Politica de-genero-2013-uca
Politica de-genero-2013-ucaPolitica de-genero-2013-uca
Politica de-genero-2013-uca
 
Isti redes 3 c2017 con aulas
Isti redes   3 c2017 con aulasIsti redes   3 c2017 con aulas
Isti redes 3 c2017 con aulas
 
Horarios IRT 3C-2017
Horarios IRT 3C-2017 Horarios IRT 3C-2017
Horarios IRT 3C-2017
 
Samba en Centos 7
Samba en Centos 7Samba en Centos 7
Samba en Centos 7
 
Configuracion del servidor dns en linux
Configuracion del servidor dns en linuxConfiguracion del servidor dns en linux
Configuracion del servidor dns en linux
 
1. configuracion del servidor dhcp en linux
1. configuracion del servidor dhcp en linux1. configuracion del servidor dhcp en linux
1. configuracion del servidor dhcp en linux
 

Último

Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
AlanCarrascoDavila
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
SalomeRunco
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
MirkaCBauer
 

Último (20)

S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdf
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptx
 
INFORME de actividades para pago de servicio
INFORME de actividades para pago de servicioINFORME de actividades para pago de servicio
INFORME de actividades para pago de servicio
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajo
 
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓNUNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓN
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
 
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdfTECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 

Respaldos con Rsync

  • 1. Backups con rsync Por Carlos Antonio Leal saballos
  • 2. Agenda ● Introduction ● Características de rsync ● rsync funcinamiento ● Trabajando con rsync ● rsync - Backups Incrementales ● Incluyendo y excluyendo ficheros del backup ● rsync remoto
  • 3. Introducción ● rsync es una herramienta que permite hacer respaldos ya sean locales o remotos ● rsync es una herramienta para realizar respaldos de archivos y directorios ● Tiene su contraparte en Windows llamado Cygwin, el cual opera sin ningún problema de interoperabilidad
  • 4. Introducción ● Dos componentes importantes: – Un algoritmo de delta compresión para respaldar únicamente los archivos que han cambiado – Un sistema mirroring para transferir datos (archivos y directorios) de un lugar a otros con el menor consumo de ancho de banda posible
  • 5. Características de rsync ● Soporte para copiar enlaces, archivos, archivos de dispositivo, con sus propietarios, grupos y permisos ● Se puede usar cualquier shell remota transparente, como ssh o rsh ● No es necesario ser root para usarlo ● pipelining de archivos transferidos para minimizar la latencia ● Soporte para usuarios anónimos o autentificados usando el demonio de rsync (para hacer mirroring) ● Opciones de exclusión (exclude y exclude-from) similares a las del GNU tar ● Modo CVS para ignorar los archivos que CVS ignoraría
  • 6. rsync funcinamiento ● A nivel de un árbol de directorios con sus archivos, la idea es sencilla. Rsync copiará ficheros y directorios tal y como estaban en el origen. ● Al realizar una sincronización no se copia todo, sino sólo lo que ha cambiado en el origen respecto al destino. ● El comando scp hace lo mismo, pero desperdicia ancho de banda sobre escribiendo archivos que no han cambiado
  • 7. rsync funcionamiento ● A nivel de archivos individuales, imaginemos un archivo enorme (varios GB) de una base de datos. ● Con cp se necesita copiar todo el archivo, desperdiciando tiempo y recursos del sistema, porque la inmensa mayoría de bloques del archivo no ha cambiado. ● rsync analiza el archivo de origen y el de destino y sólo transmite (de forma comprimida, además) las partes que realmente hayan cambiado. ● Muchas distribuciones de Linux utilizan rsync para sincronizar sus repositorios
  • 8. rsync funcionamiento ● Los detractores rsync mencinan que el algoritmo utiliza demasiada memoria y consume mucho procesador. ● También mencionan que no gestiona adecuadamente archivos comprimidos y que hasta es capaz de corromper la información ● Como usuario neutral recomiendo su uso racional ● Todo se resume en seleccionar las opciones correctas
  • 9. Trabajando con rsync ● En su forma más sencilla de uso, es similar a un cp – rsync -v archivo1.txt archivo2.txt Creará una copia de archivo1.txt llamada archivo2.txt La opción -v es para recibir información detallada Al ejecutar con root, no mantiene los permisos ● No funciona con directorios – rsync -v Directorio1 Directorio2
  • 10. Trabajando con rsync ● Para funciones de backup no hay como la opción -a – rsync -av Directorio1 Directorio2 -a: Esta opción combina el parámetro -r (recursivo), el -l (enlaces simbólicos), la -p (mantener permisos), la -t (mantener la hora), la - g (mantenga el grupo), la -o (mantenga el propietario), la -D (mantener los ficheros de dispositivo (sólo para root)). NO se mantienen los hard links (-H) ni las ACLs (-A). La opción -a realiza s una copia exacta de una jerarquía de ficheros y directorios.
  • 11. Trabajando con rsync ● Al crear un nuevo directorio, rsync sincronizará los cambios – mkdir Directorio1/Data – rsync -av Directorio1 Directorio2 Simplemente se sincronizan el nuevo directorios ● Igual si se trata de un archivo – echo “hola mundo” > Directorio1/Data/saludo.txt – rsync -av Directorio1 Directorio2
  • 12. Trabajando con rsync ● Al modificar un archivo – echo “hola mundo otra vez” >> Directorio1/Data/saludo.txt – rsync -av Directorio1 Directorio2 ● rsync sincroniza todo el archivo, no es un error, pero se puede mejorar con la opción --no-whole-file – rsync -av --no-whole-file Directorio1 Directorio2 ● La opción -z comprime el bloque antes de enviarlo – rsync -avz --no-whole-file Directorio1 Directorio2 ● Ambas opciones disminuyen el consumo de ancho de banda pero incrementan el uso de procesador y memoria.
  • 13. Trabajando con rsync ● rsync para decidir su un archivo ha cambiado normalmente sólo mira la fecha del archivo y su tamaño, si ninguna de las dos cosas cambia, rsync lo copiará. ● En algunos escenarios muy especiales (Bases de Datos por ejemplo) puede ocurrir que dos archivos con la misma fecha y tamaño sean diferentes, la opción -c permite calcular el checksum para determinar si realmente los ficheros son iguales, esto implica también mayor impacto en el procesador y la memoria – rsync -acvz --no-whole-file Directorio1 Directorio2
  • 14. Trabajando con rsync ● Poner o no poner las barras al final de los nombre del directorio tienen implicaciones distintas – /path/foo significa el directorio foo – /path/foo/ significa lo que hay dentro de foo ● A continuación algunos ejemplos para entenderlo mejor
  • 15. Trabajando con rsyn ● Dos directorios sincronizados y exactamente iguales – rm -Rf Directorio2 – rsync -av Directorio1/ Directorio2/ ● Se comprueba con ls -al Directorio2 – rm -Rf Directorio2 – rsync -av Directorio1/ Directorio2 ● Se comprueba con ls -al Directorio2
  • 16. Trabajando con rsyn ● Copiar Directorio1 dentro de Directorio2 – rm -Rf Directorio2 – rsync -av Directorio1 Directorio2 ● Se comprueba con ls -al Directorio2 – rm -Rf Directorio2 – rsync -av Directorio1 Directorio2/ ● Se comprueba con ls -al Directorio2
  • 17. Trabajando con rsync ● Eliminando archivos que ya no necesitan estar en el respaldo – touch Directorio2/archivoviejo.txt – rsync -av --delete Directorio1/ Directorio2/ ● Se debe proceder con cuidado, si no especificamos bien el directorio de destino puede ocurrir un gran desastre
  • 18. Trabajando con rsync ● Otra opción interesante puede ser –u para que no sobre-escriba los archivos si son más recientes – touch Directorio1/archivonuevo.txt – rsync -av --delete Directorio1/ Directorio2/ ● Actualizar la fecha del archivo en el respaldo – touch Directorio2/archivonuevo.txt – rsync -av --delete -u Directorio1/ Directorio2/ ● Se debe proceder con cuidado, si no especificamos bien el directorio de destino puede ocurrir un gran desastre
  • 19. rsync - Backups Incrementales ● Supongamos que tenemos dos directorios Directorio1 y Directorio2 perfectamente sincronizados y actualizamos un archivo en el directorio origen: – rsync -av Directorio1/ Directorio2/ – echo prueba >> Directorio1/archivo1 ● Si volvemos a sincronizar rsync borrará la versión anterior del archivo1 para dejar la nueva versión, si no queremos eliminar la versión previa se puede utilizar la opción –b
  • 20. rsync - Backups Incrementales rsync -avvb --delete --backup-dir=$PWD/rsync/backup_$(date +%y%m%d%H%M) Directorio1/ Directorio2/ – Esto creará un directorio “rsync/backup con al fecha” en la ruta que estemos utilizando, – Es importan que estos backups incrementales no estén dentro de ninguno de los directorios que se estén sincronizando para evitar duplicidad y/o eliminación por el mismo efecto del respaldo.
  • 21. rsync - Backups Incrementales ● También podemos hacer backups incrementales con las opciones: – --compare-dest=DIR: Es como un backup incremental sólo se tiene en el directorio destino los ficheros que han cambiado desde el último backup – --compare-dest, está la --copy-dest=DIR, que hace lo mismo que la anterior pero además copia los ficheros que no hayan cambiado. ¡Pero ojo!, la ventaja de esta opción es que la copia de los ficheros que no han cambiado es local, de forma que en un rsync remoto, todos los ficheros que ya estaban en DIR no se tienen que transferir. La desventaja es que necesita mucho espacio en disco.
  • 22. Incluyendo y excluyendo ficheros del backup ● La mayoría de las veces no se trata de un backup de un único directorio ● Todo administrador de servidores tiene una lista determinada de directorios que quiere respaldar. También tiene una lista de directorios que no quiere respaldar ● En esos casos, se ejecuta el comando varias veces o se usa una lista de directorios a respaldar ● Es decir, tener un script de backup que lance rsync con las opciones deseadas Las opciones son: – --exclude=PATTERN – --exclude-from=FILE – --include=PATTERN – --include-from=FILE – --files-from=FILE
  • 23. Incluyendo y excluyendo ficheros del backup ● Imaginemos que queremos hacer un backup de los directorios “/var/log/” y “/var/www/“. ● Podríamos usar un comando como: rsync -av --delete --include-from=lista_dirs_backup.txt / /media/disco/Backup/ en el que el fichero lista_dirs_backup.txt contiene: + /var/ + /var/www/*** + /var/log/*** - *
  • 24. Incluyendo y excluyendo ficheros del backup – En la última línea le especificamos con “- *” que todo lo que en ese punto ya no ha pasado el filtro, que sea descartado. – Tres asteriscos (***) para especificar que el propio directorio especificado también pasa el filtro,
  • 25. rsync remoto ● En la máquina destino es posible usar el propio proceso rsync funcionando como demonio y escuchando por defecto en el puerto 873 para recibir estas conexiones, pero es mucho más cómodo y fácil hacerlo por SSH, algo para lo que rsync ya está preparado por defecto. – rsync -av --delete dirA usuario@hostremoto:/backup/ – rsync -e "ssh -p 987" --delete dirA usuario@hostremoto:/backup/
  • 26. Presentación: Backups con rsync Autor: Carlos Antonio Leal Saballos (lealsaballos@gmail.com) ● Managua, Nicaragua, Octubre del 2013 ● Licencia: CC-BY-SA 3.0 Unported ● http://creativecommons.org/licenses/by-sa/3.0/deed.es ● Datos tomados de http://www.vicente-navarro.com – CC-BY-SA 3.0