Aquí hay algunos comandos para copiar directorios con información de progreso.
Si hay muchos archivos pequeños:
cp -av sourcedir targetdir | pv -l -s filecount > logfile
Esto informará el progreso en función del número de archivos que se copian.
Puede redirigir a /dev/null
si no lo necesita logfile
.
Use el siguiente comando para obtener filecount
:
find sourcedir | wc -l
Si hay pocos archivos enormes:
tar c sourcedir | pv -s size | tar x -C targetdir
Esto informará el progreso en función de los bytes que se copian.
targetdir
debe existir
Use el siguiente comando para obtener size
:
du -sh sourcedir
Si quieres usar rsync:
rsync -ai sourcedir/ targetdir/ | pv -l -s filecount > logfile
Obtenga filecount
como se muestra arriba.
Si está copiando en el mismo sistema, entonces rsync -a
es prácticamente igual que cp -a
. Las ventajas de rsync es cuando está copiando a través de la red o si está actualizando (o comparando) una copia anterior.
Vea aquí para más detalles: