Respaldos y copias de archivos con rsync
Introducción
Para la realización de respaldo, por ejemplo de nuestra colección de fotos, o los archivos de nuestro sitio web, podemos en forma simple optar por copiar nuestros archivos, pero a medida que aumenta la cantidad, se hace más tedioso y se torna ineficiente.
El comado rsync, provisto en la gran mayoría de las distribuciones de GNU/Linux nos permite realizar dichas copias con la ventaja que analiza cuales archivos han sido modificados o son nuevos, evitando copiar nuevamente archivos que ya se encuentran al día.
Se debe considerar que los archivos deber estar "cerrados" al momento de la sincronización, si están siendo modificados se corre el riesgo de realizar una copia corrupta del mismo (cuidado que de bebe tener con cualquier mecanismo de copia)
Descripción
El formato general de utilizar rsync es de la forma:
Dentro de las opciones podemos destacar:
| Opción | Descripción |
|---|---|
| -a, --archive | Realiza una copia fiel, como un respaldo, equivalente a incluir las opciones "-rlptgoD" |
| -c, --checksum | Se omite el uso de checksum para determinar cambios en el archivo |
| --delete | Elimina los archivos del destino que no se encuentran en el origen |
| --exclude=PATTERN | Excluye archivos que cumplen "PATTERN", como --exclude=*.bak |
| --include=PATTERN | incluye solo archivos que cumplen "PATTERN", como ‐‐include=*.php ‐‐include=*.jpg |
| -h | human, despliega la informació de progreso ajustando a la mejor escala (KB o MB) de manera de facilitar la lectura por humanos |
| -l, --links | Copia los links simbólicos como tal |
| --max-size=SIZE | se omiten archivos con tamaño mayor a SIZE (20M por ejemplo) |
| --min-size=SIZE | se omiten archivos con tamaño menores a SIZE (1K por ejemplo) |
| -p, --perms | Replica los permisos del archivo |
| -r, --recursive | Realiza una copia recursiva del directorio y todos los directorios que contiene |
| -R, --relative | Considera las rutas de archivos de manere relativa al origen |
| -o, --owner | Se mantiene el dueño del archivo, aplica solo cuando el restino se ejecuta como usuario root |
| -t, --times | Preserva la fecha de modificación de los archivos |
| -v, --verbose | verbose, nos reporta más información al momento de ejecutar, puede ser dada hasta 3 veces con lo que se obtiene diferentes niveles de información |
| -z, --compress | Utiliza compresión en la transferencia de datos |
La lista completa de opciones y formas de uso se encuentra en su sitio oficial: https://download.samba.org/pub/rsync/rsync.html
Ejemplos de uso
Local
La forma más simple es utilizarlo similar al comando cp, con la ventaja de poder recorrer directorios recursivamente, similar al un cp -ru origen destino, en el siguiente comando se copiarán los directorios Fotos y Videos hacia el directorio /var/backup/user/luis, mostrando el avance de la copia o actualización:

facebook
mail
print