He estado usando rsync para copiar archivos por algún tiempo. Tengo entendido que rsync es más rápido que cp cuando algunos de los archivos a transferir ya están en el directorio de destino, transfiriendo solo la diferencia incremental (es decir, los "deltas").
Si esto es correcto, ¿tendría alguna ventaja usar rsync para mover el contenido de una carpeta A , por ejemplo, una carpeta B , con B vacío?
La carpeta A tiene cerca de 1 TB de datos (y millones de archivos). La transferencia se realizaría a través de una red local ( A y B en diferentes sistemas de archivos, ambos montados en una supercomputadora, por ejemplo, A es NFS y B es lustre ).
Aparte de eso, ¿qué indicadores debo usar para pedirle a rsync que mueva (no copie) archivos de A a B (es decir, que elimine A cuando la transferencia haya finalizado con éxito)?
mv
más rápido?
mv
no puede operar a través de una red; tendría que depender de un montaje local (por ejemplo, NFS). Si el cuello de botella es la red, rsync
probablemente sería más rápido que mv
porque rsync
puede hacer compresión.
cp
tiene -u
la opción de copiar el archivo de origen si es más reciente que el archivo de destino o cuando el archivo de destino no se encuentra
rsync
pueda reemplazarmv
. Esperaríamv
ser más rápido en la mayoría de los tipos de sistemas de archivos cuando el origen y el destino están dentro del mismo sistema de archivos, yarsync
que tendría que hacer una copia sin importar qué, ymv
probablemente podría salirse con el cambio de algunas entradas de directorio. Lo más parecido que puedo encontrar a unrsync mv
es el--remove-source-files
comando, pero eso no elimina los directorios.