Opciones principales
Combinando varias opciones del comando `rsync`, puede configurar tareas de sincronización y respaldo de archivos.
1. Sincronización básica
2. Modos y opciones de transferencia
Comando generado:
Combina los comandos.
Descripción:
`rsync` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Cómo funciona rsync
`rsync` utiliza el algoritmo de 'codificación delta' para transferir solo las partes modificadas de los archivos, utilizando eficientemente el ancho de banda de la red. Esto lo hace muy rápido y eficiente al sincronizar archivos grandes o muchos archivos.
Características principales de rsync
Estas son las funciones clave que diferencian `rsync` de otras herramientas de copia.
- Transferencia delta (Delta Transfer): Identifica y transfiere solo las diferencias entre los archivos de origen y destino. Maximiza la eficiencia al transferir solo los bloques modificados en lugar de volver a copiar todo el archivo.
- Respaldo incremental (Incremental Backup): Copia solo los archivos que han cambiado desde el último respaldo, ahorrando tiempo y espacio al no tener que realizar un respaldo completo cada vez.
- Sincronización remota: Puede transferir archivos a través de canales cifrados utilizando varios shells remotos, incluida SSH, lo que mejora la seguridad.
- Conservación de atributos de archivo: Al usar el modo de archivo (`-a`), conserva todos los atributos de los archivos, incluidos permisos, propietarios, grupos, marcas de tiempo y enlaces simbólicos.
Importancia de la barra final (Trailing Slash) en la ruta
`rsync` es muy importante si se adjunta una barra (`/`) al final de la ruta de origen. - `source/`: Copia el **contenido** de la carpeta `source`. (Ejemplo: similar a `cp source/* dest/`) - `source`: Copia la **carpeta** `source`. (Ejemplo: similar a `cp -r source dest/`) No entender esta diferencia puede resultar en resultados inesperados.
Ejemplos de uso
Utilice ejemplos prácticos del comando `rsync` para establecer estrategias de sincronización y respaldo de archivos.
Sincronización de directorios locales (modo de archivo)
rsync -av /path/to/source_dir/ /path/to/destination_dir/
Sincroniza el contenido de `source_dir` con `destination_dir`. Mantiene todos los atributos, incluyendo permisos y tiempos. Los archivos que no están en `source_dir` no se eliminarán de `destination_dir`.
Espejeo de directorios en un servidor remoto (respaldo)
rsync -avz --delete --progress /local/my_data/ user@remote_host:/remote/backup/
Espejea el contenido del directorio `my_data` local en el directorio `/backup/` del servidor remoto. Los archivos que no están en la fuente también se eliminarán en el destino. Utiliza compresión y muestra el progreso.
Obtener solo archivos específicos del servidor remoto
rsync -avz --include='*.log' --exclude='*' user@remote_host:/var/log/ /tmp/logs/
Obtiene solo los archivos `.log` del directorio `/var/log/` del servidor remoto al directorio local `/tmp/logs/`.
Verificar cambios sin ejecución real
rsync -avz --delete --dry-run /path/to/source/ /path/to/destination/
Muestra de antemano qué cambios se realizarían sin transferir o eliminar realmente archivos. Siempre es recomendable usar esto antes de una sincronización importante.
Sincronización usando un puerto SSH diferente
rsync -avz -e "ssh -p 2222" /local/src/ user@remote_host:/remote/dest/
Sincroniza archivos con el servidor remoto usando el puerto 2222 en lugar del puerto SSH predeterminado (22).