linux – ¿Cómo sincronizar dos carpetas con herramientas de línea de comandos?

Pregunta:

Habiendo migrado a Linux desde Windows, me gustaría encontrar un software alternativo a Winmerge o más bien aprender herramientas de línea de comandos para comparar y sincronizar dos carpetas en Linux. Le agradecería que me dijera cómo realizar las siguientes tareas en la línea de comando … (He estudiado diff y rsync, pero todavía necesito ayuda).

Tenemos dos carpetas: "/ home / user / A" y "/ home / user / B"

La carpeta A es el lugar donde se guardan los archivos y carpetas normales y la carpeta B es una carpeta de respaldo que sirve como un espejo completo de la carpeta A. (El usuario no guarda ni modifica nada directamente en la carpeta B.)

Mis preguntas son:

  • ¿Cómo enumerar los archivos que existen solo en la carpeta B? (Por ejemplo, los eliminados de la carpeta A desde la última sincronización).

  • ¿Cómo copiar archivos que existen solo en la carpeta B a la carpeta A?

  • ¿Cómo enumerar los archivos que existen en ambas carpetas pero que tienen marcas de tiempo o tamaños diferentes? (Los que se han modificado en la carpeta A desde la última sincronización. Me gustaría evitar el uso de sumas de comprobación, porque hay decenas de miles de archivos y haría el proceso demasiado lento).

  • ¿Cómo hacer una copia exacta de la carpeta A en la carpeta B? Quiero decir, copie todo de la carpeta A a la carpeta B que existe solo en la carpeta A y elimine todo de la carpeta B que existe solo en la carpeta B, pero sin tocar los archivos que son iguales en ambas carpetas.

Respuesta:

Esto coloca la carpeta A en la carpeta B:

rsync -avu --delete "/home/user/A" "/home/user/B"  

Si desea que el contenido de las carpetas A y B sea ​​el mismo, coloque /home/user/A/ (con la barra) como fuente. Esto no toma la carpeta A sino todo su contenido y lo coloca en la carpeta B. Así:

rsync -avu --delete "/home/user/A/" "/home/user/B"
  • -a Realiza la sincronización conservando todos los atributos del sistema de archivos
  • -v ejecuta prolijamente
  • -u solo copia archivos con una hora de modificación más reciente (o diferencia de tamaño si las horas son iguales)
  • --delete eliminar eliminar los archivos en la carpeta de destino que no existen en la fuente

Página de manual: https://download.samba.org/pub/rsync/rsync.html

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım