¿La mejor manera de continuar el movimiento detenido (mv) fusionando directorios?

18

He movido (mv) un directorio bastante grande en mi NAS (basado en Linux), pero tuve que interrumpir el procedimiento. Al no ser un usuario habitual de Linux, pensé que podría continuar y fusionar el resto más adelante.

mv /oldisk/a /newdisk

El procedimiento está a mitad de camino, por lo que el resto de / oldisk / a todavía existe, y / newdisk / a con los archivos ya copiados ya está presente. No tengo idea de qué archivos ya se han copiado. Por cierto, bajo / oldisk / a, por supuesto, hay muchos subdirectorios.

¿Cuál sería la mejor manera de mover / fusionar los archivos restantes a / newdisk / a?

Horst Walter
fuente

Respuestas:

28

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

El --dry-run(o -n) realizará una ejecución en seco, mostrándole lo que haría sin realmente hacer nada.

Si se ve bien, ejecute rsync sin la -nopción.

Esto será una copia, no un movimiento, que no es exactamente lo que está haciendo, pero es más seguro. El --archive(o -a) garantiza que se conservan todos los metadatos de propiedad y marcas de tiempo (lo que no haría una copia normal).

cjc
fuente
2
Copiar está bien, siempre puede eliminar el directorio anterior más tarde.
Horst Walter
44
Puede usar --remove-source-filespara eliminar los archivos que se han copiado correctamente. Además, -Po --progressmostrará una estimación de cuántos archivos más hay que hacer.
deltab
1
así como un ejemplo de un movimiento:rsync --remove-source-files --recursive --times --crtimes 1/* 2/
Sridhar Sarnobat
1
@deltab, --progress dibuja una nueva barra para cada archivo individual, en su lugar hay --info = progress2 para toda la transferencia.
把 友情 留 在 无 盐
Wow, eso es bastante triste. Mv está definitivamente roto que necesita otras herramientas para hacer lo que debería poder hacer por sí mismo. Acabo de descubrir esto, mv se niega a escribir en un directorio existente, lo cual es bastante patético. Es hora de reemplazar este comando con algo más funcional.
nigratruo