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 copiados.
Você pode redirecionar para /dev/null
se não precisar de logfile
.
Use o seguinte comando para obter filecount
:
find sourcedir | wc -l
Se houver poucos arquivos grandes:
tar c sourcedir | pv -s size | tar x -C targetdir
Isso relatará o progresso com base nos bytes copiados.
targetdir
deve existir.
Use o seguinte comando para obter size
:
du -sh sourcedir
Se você quiser 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
será praticamente o mesmo que cp -a
. As vantagens do rsync é quando você está copiando através da rede ou se está atualizando (ou comparando) uma cópia anterior.
Veja aqui para mais detalhes: