Estou usando o rsync para copiar arquivos há algum tempo. Meu entendimento é que o rsync é mais rápido que o cp quando alguns dos arquivos a serem transferidos já estão no diretório de destino, transferindo apenas a diferença incremental (ou seja, os "deltas").
Se isso estiver correto, haveria alguma vantagem em usar o rsync para mover o conteúdo de uma pasta A , para dizer uma pasta B , com B vazio?
A pasta A possui quase 1 TB de dados (e milhões de arquivos). A transferência seria feita em uma rede local ( A e B estão em sistemas de arquivos diferentes , ambos montados em um supercomputador, por exemplo, A é NFS e B é brilho ).
Além disso, quais sinalizadores devo usar para solicitar ao rsync para mover (não copiar) arquivos de A para B (ou seja, para excluir A quando a transferência for concluída com êxito)?
mv
mais rápido?
mv
não pode operar em uma rede - teria que depender de uma montagem local (por exemplo, NFS). Se o gargalo for a rede, rsync
provavelmente seria mais rápido do que mv
porque rsync
pode fazer a compactação.
cp
tem -u
opção de copiar arquivo de origem se for mais recente que o arquivo de destino ou quando o arquivo de destino está faltando
rsync
pode substituirmv
. Eu esperariamv
ser mais rápido na maioria dos tipos de sistemas de arquivos quando a origem e o destino estiverem dentro do mesmo sistema de arquivos, porquersync
precisariam fazer uma cópia, não importando o quemv
fosse , e provavelmente conseguiriam mudar algumas entradas de diretório. A coisa mais próxima que posso encontrar de umrsync mv
é o--remove-source-files
comando, mas isso não remove os diretórios.