
Tengo algunas carpetas que se duplicaron por error y tengo que fusionarlas. Digamos que la carpeta A contiene el archivo X y la carpeta B contiene el archivo Y, me gustaría copiar el archivo X a la carpeta B. Pero, por supuesto, puedo enfrentar casos más complejos, donde tanto la carpeta A como la B contienen el mismo archivo X. : en esos casos, me gustaría conservar la copia más reciente del archivo, por lo que rsync debería comparar ambos archivos y, si el origen es anterior, simplemente omitirlo; de lo contrario, el destino es el anterior, sobrescribir.
¿Qué parámetros debo poner en la línea de comando rsync?
Esto es lo que encontré buscando en Google, pero no creo que sea correcto.
rsync -avz --ignore-existing src dest
La página de manual de alguna manera me supera.
PD: En aquellos casos en los que exista un archivo en ambas carpetas, lo mejor sería sobrescribir el más antiguo en la carpeta de destino y al mismo tiempo conservar una copia del más antiguo, solo como copia de seguridad en caso de que deba volver a la carpeta de destino. anterior
Respuesta1
Yo usaría:
rsync -abviuzP src/ dest/
-i
activa el formato detallado, que muestra más información que el formato predeterminado-b
crea archivos de copia de seguridad rsync que existen en ambas carpetas, agregándolos~
al archivo anterior. Puedes controlar este sufijo con--suffix .suf
-u
hace que la transferencia rsync omita archivos que son más nuevos en dest que en src-z
activa la compresión, lo cual es útil al transferir archivos fácilmente comprimibles a través de enlaces lentos-P
se enciende--partial
y--progress
--partial
hace que rsync mantenga los archivos parcialmente transferidos si la transferencia se interrumpe--progress
muestra una barra de progreso para cada transferencia, útil si transfieres archivos grandes