Comandos de linux - rsync
Rsync es un comando de Linux que se utiliza para sincronizar archivos y directorios de forma local o remota. Permite la transferencia eficiente de datos utilizando un algoritmo de sincronización delta, que solo transfiere las partes de un archivo que han cambiado, en lugar de transferir todo el archivo completo. Esto hace que la sincronización sea más rápida y eficiente.
- Usos mas comunes del comando rsync
-
Ejemplos con rsync
- Copiar un archivo local a un servidor remoto:
- Copiar un archivo remoto a una carpeta local:
- Sincronizar un directorio local con un directorio remoto:
- Sincronizar un directorio remoto con un directorio local:
- Excluir archivos y carpetas de una sincronización:
- Sincronizar un directorio local con otro directorio local:
- Sincronizar un directorio remoto con otro directorio remoto:
Usos mas comunes del comando rsync
Algunos de los usos más comunes utilizados con rsync son:
- rsync [opciones] origen destino: Este comando se utiliza para sincronizar archivos y directorios entre una carpeta de origen y una carpeta de destino. Se pueden agregar opciones adicionales, como -a para sincronizar recursivamente y conservar los permisos y las fechas de los archivos.
- rsync -e ssh [opciones] origen usuario@servidor:destino: Este comando se utiliza para sincronizar archivos y directorios entre una carpeta de origen y una carpeta de destino en un servidor remoto utilizando SSH. La opción -e especifica el comando para conectarse al servidor remoto.
- rsync --delete [opciones] origen destino: Este comando se utiliza para sincronizar archivos y directorios, eliminando cualquier archivo o directorio en la carpeta de destino que no exista en la carpeta de origen.
- rsync --dry-run [opciones] origen destino: Este comando se utiliza para realizar una prueba de sincronización sin realizar ninguna acción. Esto es útil para verificar qué archivos se sincronizarán antes de realizar la sincronización real.
- rsync --exclude [patrón] [opciones] origen destino: Este comando se utiliza para excluir archivos o directorios específicos de la sincronización. El patrón especificado en la opción --exclude se aplica a los archivos y directorios que se sincronizarán.
Estos son solo algunos de los comandos más comunes que se utilizan con rsync en Linux. Hay muchas opciones y configuraciones adicionales que se pueden utilizar para personalizar la sincronización según las necesidades específicas.
Ejemplos con rsync
Copiar un archivo local a un servidor remoto:
El siguiente comando copia el archivo local "archivo.txt" al servidor remoto con dirección IP "192.168.1.100" y lo guarda en el directorio "/home/usuario":
rsync archivo.txt usuari
o@192.168.1.100:/home/usuario
Copiar un archivo remoto a una carpeta local:
El siguiente comando copia el archivo remoto "archivo.txt" al directorio local "/home/usuario/carpeta":
rsync usuar[email protected]:/home/usuario/archivo.txt /home/usuario/carpeta
Sincronizar un directorio local con un directorio remoto:
El siguiente comando sincroniza el directorio local "/home/usuario/misdocumentos" con el directorio remoto "/home/usuario/misdocumentos" del servidor remoto con dirección IP "192.168.1.100":
rsync -avz /home/usuario/misdocumentos [email protected]:/home/usuario/misdocumentos
Sincronizar un directorio remoto con un directorio local:
El siguiente comando sincroniza el directorio remoto "/home/usuario/misdocumentos" con el directorio local "/home/usuario/misdocumentos":
rsync -avz [email protected]:/home/usuario/misdocumentos /home/usuario/misdocumentos
Excluir archivos y carpetas de una sincronización:
El siguiente comando sincroniza el directorio local "/home/usuario/misdocumentos" con el directorio remoto "/home/usuario/misdocumentos" del servidor remoto con dirección IP "192.168.1.100", excluyendo la carpeta "archivos_backup" y los archivos con extensión ".bak":
rsync -avz --exclude 'archivos_backup/' --exclude '*.bak' /home/usuario/misdocumentos [email protected]:/home/usuario/misdocumentos
Sincronizar un directorio local con otro directorio local:
El siguiente comando sincroniza el directorio local "/home/usuario/misdocumentos" con el directorio local "/home/usuario/respaldos/misdocumentos":
rsync -avz /home/usuario/misdocumentos /home/usuario/respaldos/
Sincronizar un directorio remoto con otro directorio remoto:
El siguiente comando sincroniza el directorio remoto "/home/usuario/misdocumentos" con el directorio remoto "/home/usuario/respaldos/misdocumentos" del servidor remoto con dirección IP "192.168.1.100":
rsync -avz usua[email protected]:/home/usuario/misdocumentos [email protected].