Cuántas veces nos pusimos a copiar grandes volúmenes de datos por consola en servidores unix-like por linea de comandos? Dejamos pasar el tiempo y aún no sabemos cuando terminará la copia de los archivos, y eso nos genera cierta incertidumbre. Muchos copiamos archivos usando cp en consola, otros pueden optar por usar midnight commander o algo similar que permita mostrar el progreso de la copia de archivos.

Sin extender mucho este post, voy a pasar un tip para poder tener una barra de progreso copiando archivos con cp:

#!/bin/sh
cp_p()
{
strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
| awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf "%3d%% [", percent
for (i=0;i<=percent;i++)                   printf "="                printf ">"
for (i=percent;i<100;i++)
printf " "
printf "]\r"
}
}
END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}

Fuente: http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/

  • Share/Bookmark