Aqui estão alguns comandos para copiar diretórios com informações de progresso.
Se houver muitos arquivos pequenos:
cp -av sourcedir targetdir | pv -l -s filecount > logfile
Isso relatará o progresso com base no número de arquivos que são copiados.
Você pode redirecionar para /dev/null
se não precisar logfile
.
Use o seguinte comando para obter filecount
:
find sourcedir | wc -l
Se houver alguns arquivos enormes:
tar c sourcedir | pv -s size | tar x -C targetdir
Isso relatará o progresso com base nos bytes que são copiados.
targetdir
deve existir.
Use o seguinte comando para obter size
:
du -sh sourcedir
Se você deseja usar o rsync:
rsync -ai sourcedir/ targetdir/ | pv -l -s filecount > logfile
Obtenha filecount
como mostrado acima.
Se você estiver copiando no mesmo sistema, rsync -a
é praticamente o mesmo que cp -a
. As vantagens do rsync são quando você está copiando pela rede ou se está atualizando (ou comparando) uma cópia anterior.
Veja aqui para mais detalhes: