Mover directorio de gran tamaño usando rsync

Mover directorio de gran tamaño usando rsync

Planeo pasar del directorio Linux o/sa que está montado en SAN (externo) al almacenamiento externo para realizar copias de seguridad. El tamaño del directorio es 14TB.

Tengo experiencia moviendo archivos dentro/fuera usando rsync, pero nunca hice esto con directorios/archivos de gran tamaño como ahora.

Los directorios se establecen en términos de jerarquía de año/mes/días/horas y admiten registros sin procesar para el análisis.

Problema

Entonces, dicho lo anterior, debido a restricciones de recursos, no puedo mover 14 TB completos al espacio de almacenamiento externo/de respaldo. El espacio de respaldo que tengo actualmente es de 8 TB como máximo. Entonces, ¿hay algún comando o interruptor/parámetro que pueda decirle a rsync que solo copie archivos al tamaño mencionado, es decir, solo TB?

NOTA No me importa menos la naturaleza del archivo, solo que más allá de cierto tamaño no quiero mover ningún dato.

Respuesta1

No puede hacer que rsync se detenga cuando ha copiado una cierta cantidad de bytes proporcionando un límite. Puedes ejecutarlo normalmente.

rsync -a /src/ /dest 

y cuando /dest esté lleno simplemente se detendrá con un error

 rsync: write failed on "...": No space left on device (28)

Podrías hacer algo con un guión.

find /src -printf "%p %s\n" >filelist_size

Luego use algo como awk para leer filelist_sizee imprimir el nombre del archivo filelistsi la suma de los tamaños de archivo está por debajo de cierto umbral.

Luego puede usar el files-from=filelistargumento para rsync.

Puede que sea más fácil escribir esto en Python.

información relacionada