Próxima revisión | Revisión previa |
rsync [2021/08/11 16:56] – creado taro | rsync [2021/08/11 21:15] (actual) – [Combinando todo] taro |
---|
rsync -r origen/ destino | rsync -r origen/ destino |
| |
Notar la opción ''-r'' que es la que le indica a ''rsync'' que la copia es recursiva. | > Notar la opción ''-r'' que es la que le indica a ''rsync'' que la copia es recursiva. |
Otra alternativa es indicarle que copie recursivamente preservando los metadatos y archivos especiales (por ejemplo enlaces simbólicos) | |
| Otra alternativa es indicarle con la opción ''-a'' que copie recursivamente preservando los metadatos y archivos especiales (por ejemplo enlaces simbólicos) |
| |
rsync -a origen/ destino | rsync -a origen/ destino |
| |
| > **Importante**: Notar en los dos ejemplos anteriores que ''origen'' está finalizado con una barra ''/''. De esta manera se le señaliza a ''rsync'' que copie el contenido de ''origen'' y no lo incluya. De otra forma lo que haría sería crear en ''destino'' una nueva carpeta llamada ''origen'' y volcar allí todo lo copiado. |
| |
| ==== Otras opciones útiles ==== |
| |
| === Chequear lo que va a suceder === |
| |
| La opción ''-n'' o bien ''--dry-run'' permite chequear qué es lo que hará ''rsync'' sin que realmente se lleve ninguna opción a cabo. Esto generalmente se combina con la opción siguiente para más detalles sobre el procedimiento a realizar. |
| |
| === Salida verborrágica === |
| |
| La opción ''-v'' muestra información más detallada de lo normal sobre las acciones y resultados que van sucediendo a medida que se ejecuta ''rsync''. |
| |
| ==== Copiando entre sistemas remotos ==== |
| |
| Ahora veremos el área donde ''rsync'' se luce. Realizaremos una sincronización donde ''origen'' y ''destino'' son carpetas en sistemas diferentes. Vamos a suponer que esos sistemas son nuestra PC (en alguna parte de Internet), y el servidor en Texto-Plano (suponiendo que ya tenemos cuenta). |
| |
| === Sincronizando una carpeta en nuestra PC a TP === |
| |
| Supongamos que ahora ''origen'' es una carpeta en nuestra PC y ''destino'' es una carpeta en nuestro $HOME en Texto-Plano, más precisamente, el //path// absoluto de ''destino'' sería ''/home/fulana/destino'' (suponiendo que nuestro usuario es ''fulana''). |
| |
| Entonces |
| |
| rsync -e ssh -a origen/ fulana@texto-plano.xyz:/home/fulana/destino |
| |
| Aquí apareció la opción ''-e ssh'' para indicarle a ''rsync'' que el medio de conexión con Texto-Plano será mediante ''ssh''. |
| |
| De manera análoga, si quisieramos sincronizar de Texto-Plano hacia nuestra computadora, el comando sería: |
| |
| rsync -e ssh -a fulana@texto-plano.xyz:/home/fulana/origen/ destino |
| |
| ==== Más opciones útiles ==== |
| |
| Ahora que estamos realizando copias por la red, estas opciones vendrán muy útiles. |
| |
| === Compresión de los datos === |
| |
| La opción ''-z'' comprime los datos, rediuciendo la cantidad de información enviada por la red. |
| |
| === Indicación de progreso === |
| |
| Con la opción ''-P'' ''rsync'' nos indicará el progreso de la sincronización. Ideal para cuando hay mucha info a copiar y queremos saber cómo va avanzando el asunto. |
| |
| === Datos en números legibles === |
| |
| Con la opción ''-h'' le decimos a ''rsync'' que los números los muestre en una escala más fácil de entender. Usualmente combinada con la opción ''-P''. |
| |
| === Copiar sólamente archivos nuevos o modificados === |
| |
| Con ''-u'' sólamente se copian los archivos nuevos o que son más nuevos en la carpeta de ''origen''. |
| |
| ===== Combinando todo ===== |
| |
| Es importante aclarar que estas opciones se pueden combinar, de manera que: |
| |
| rsync -e ssh -azuhP fulana@texto-plano.xyz:/home/fulana/origen/ destino |
| |
| copiará todo el contenido de la carpeta ''origen'' en Texto-Plano (''-a''), de manera comprimida (''-z''), copiando archivos nuevos o modificados sólamente (''-u''), de manera fácil de leer (''-h''), mostrando el progreso (''-P'') usando ''ssh'' como transporte. |
| |
| Recuerden que siempre tienen más información con el comando ''man rsync''. |