El comando “rsync” te permite sincronizar y transferir archivos y directorios de manera eficiente. Vamos a ver ejemplos prácticos de uso del comando “rsync” que te ayudarán a realizar copias de seguridad, transferencias locales y remotas, y mantener tus archivos y directorios sincronizados.
Copia local de un directorio
Si deseas realizar una copia de seguridad de un directorio en otro lugar de tu sistema de archivos, “rsync” puede simplificar esta tarea. Por ejemplo, si deseas hacer una copia de seguridad del directorio “documentos” en tu directorio personal, puedes ejecutar el siguiente comando:
rsync -av /path/a/documentos/ /home/usuario/backup/documentos/
Parámetros utilizados:
- “-a” (archive): Preserva atributos de archivos y directorios durante la copia, incluyendo permisos, fechas y propietarios.
- “-v” (verbose): Muestra información detallada durante la ejecución del comando.
Sincronización de directorios locales
El comando “rsync” te puede ayudar cuando necesites mantener dos directorios locales sincronizados. Por ejemplo, si deseas sincronizar el contenido del directorio “source” con el directorio “destino”, puedes usar el siguiente comando:
rsync -av --delete /path/to/source/ /path/to/destination/
Parámetros utilizados:
- “–delete”: Elimina los archivos y directorios en el directorio de destino que no existen en el directorio de origen.
Transferencia de archivos a través de SSH
Con “rsync”, también puedes transferir archivos y directorios de forma segura a través de SSH. Por ejemplo, si deseas copiar un archivo desde tu máquina local a un servidor remoto, puedes utilizar el siguiente comando:
rsync -avz -e ssh /path/a/local/archivo usuario@remoto:/path/a/destino/
Parámetros utilizados:
- “-z” (compress): Comprime los datos durante la transferencia para mejorar la eficiencia en redes lentas.
- “-e” (rsh): Especifica el programa a utilizar para establecer la conexión SSH.
Excluir archivos y directorios en la sincronización
En ocasiones, es posible que desees excluir ciertos archivos o directorios durante la sincronización. Para lograr esto, puedes utilizar la opción “–exclude” con “rsync”. Por ejemplo, si deseas sincronizar un directorio, pero excluir todos los archivos con extensión “.log”, puedes ejecutar el siguiente comando:
rsync -av --exclude "*.log" /path/a/origen/ /path/a/destino/
Parámetros utilizados:
- “–exclude”: Especifica patrones de archivos o directorios a excluir durante la sincronización.
Realizar una vista previa de la sincronización
Antes de realizar una sincronización real, puedes usar la opción “–dry-run” con “rsync” para obtener una vista previa de los cambios que se realizarán sin realizar ninguna acción real. Por ejemplo:
rsync -av --dry-run /path/a/origen/ /path/a/destino/
Parámetros utilizados:
- “–dry-run”: Muestra una lista de los cambios que se realizarían sin ejecutar ninguna acción real.