
Estoy copiando una gran cantidad de archivos entre discos. Hay aproximadamente 16 GB de datos. Me gustaría ver información sobre el progreso e incluso un tiempo estimado de finalización.desde la línea de comando.
¿Algún consejo?
Respuesta1
Usar rsync --human-readable --progress
.
Para archivos individuales y dispositivos de bloque también existe pv
. Y si realmente necesitas una barra de progreso precisa, intenta usarla tar
con pv, algo como esto:
source=/the/source/directory
target=/the/target/directory
size=$(du -sx "$source")
cd "$source"
find . xdev -depth -not -path ./lost+found -print0 \
| tar --create --atime-preserve=system --null --files-from=- \
--format=posix --no-recursion --sparse \
| pv --size ${size}k \
| { cd "$target"; \
tar --extract --overwrite --preserve-permissions --sparse; }
Sin embargo, tenga en cuenta que GNU tar
aún no admite ACL ni atributos extendidos, por lo que si está copiando sistemas de archivos montados con las opciones "acl" o "xattrs", deberá usar rsync (con las opciones " --acls
" y " --xattrs
"). Personalmente uso:
rsync --archive --inplace --hard-links --acls --xattrs --devices --specials \
--one-file-system --8-bit-output --human-readable --progress /source /target
También averigüe si desea utilizar las opciones --delete
y/o --numeric-ids
.
Respuesta2
En lugar de dd
sugeriríapv
, p.ej:
% tar -cf - INPUT | pv -rbe -s SIZE | tar -xf - -C DEST
Respuesta3
Has probado rsync -P
? Si está usando dd
, por ejemplo, tar -cf - src | dd | (cd dest; tar -xf -)
debería poder usar Ctrl-T (SIGINFO) para ver su progreso.