Cómo monitorear el progreso de (copiar/respaldar/comprimir) datos usando el comando ‘pv’

Cómo monitorear el progreso de (copiar/respaldar/comprimir) datos usando el comando ‘pv’

Al hacer copias de seguridad, hacer frente/mover archivos grandes en su sistema Linux, es posible que desee supervisar el progreso de una operación en curso. Muchas herramientas de terminal no tienen la funcionalidad para permitirle ver información de progreso cuando un comando se está ejecutando en una tubería.

Lea también. comando de copia avanzada para mostrar la barra de progreso mientras se copia Archivos en Linux

 Mostrar barra de progreso de copia/copia de seguridad/archivo Tar en Linux Mostrar barra de progreso del archivo de copia/copia de seguridad/Tar en Linux Mostrar barra de progreso de copia/copia de seguridad/archivo Tar en Linux

En este artículo, veremos una comando importante de Linux/Unix llamado pv.

Lectura sugerida: Progreso: una pequeña herramienta para monitorear el progreso de (cp, mv, dd, tar, etc.)

Pv. es una herramienta basada en terminal que le permite monitorear el progreso de los datos que se envían a través de una tubería. strong> pv. le brinda una visualización visual de la siguiente información:

  1. El tiempo transcurrido.
  2. El porcentaje completado, incluida una barra de progreso .
  3. Muestra la tasa de rendimiento actual.
  4. Los datos totales transferidos.
  5. y la ETA (tiempo estimado).

¿Cómo instalar el comando pv en Linux?

Este comando no está instalado por defecto en la mayoría de las distribuciones de Linux, por lo tanto, puede instalarlo siguiendo los pasos a continuación.

En Fedora, CentOS y RHEL freestar .config.enabled_slots.push

Primero debe activar el repositorio de EPEL y luego ejecute el siguiente comando.

# yum install pv # dnf install pv [En las versiones Fedora 22+. Dependencias de salida de muestra resueltas ============= ================================================ ================== Tamaño del repositorio de la versión de Arch del paquete =========================== ================================================ ==== Instalando: pv x86_64 1.4.6-1.el7 epel 47 k Resumen de transacciones ============================== ================================================ = Instalar 1 paquete Tamaño total de descarga: 47 k Tamaño instalado: 93 k ¿Está bien esto [y/d/N]: y Descarga de paquetes: pv-1.4.6-1.el7.x86_64.rpm | 47 kB 00:00:00 Comprobación de transacción en ejecución Prueba de transacción en ejecución La prueba de transacción se realizó correctamente Ejecución de transacción Instalación: pv-1.4.6-1.el7.x86_64 1/1 Verificación: pv-1.4.6-1.el7.x86_64 1/1 Instalado: pv.x86_64 0: 1.4.6-1.el7 ¡Completo! En Debian, Ubuntu y Linux Mint # apt-get install pv Salida de muestra Lectura de listas de paquetes … Listo Construyendo árbol de dependencias Leyendo información de estado … Listo Se instalarán los siguientes paquetes NUEVOS: pv 0 actualizado, 1 recién instalado, 0 a eliminar y 533 no actualizado. Necesita obtener 33,7 kB de archivos. Después de esta operación, se utilizarán 160 kB de espacio adicional en disco. Obtener: 1 http://archive.ubuntu.com/ubuntu/trusty/universe pv amd64 1.2.0-1 [33.7 kB] Obtenido 33.7 kB en 0s (48.9 kB/s) Seleccionando el paquete pv previamente no seleccionado. (Leyendo la base de datos … 216340 archivos y directorios instalados actualmente.) Preparándose para descomprimir …/archives/pv_1.2.0-1_amd64.deb … Desempaquetando pv (1.2.0-1) … Procesando disparadores para man-db (2.6.7.1-1ubuntu1) … Configurando pv (1.2.0-1) … En Gentoo Linux Use el administrador de paquetes emerge para instalar el comando pv. como se muestra. # emerge–ask sys-apps/pv En FreeBSD Linux

Puede usar el puerto para instalarlo de la siguiente manera:

# cd/usr/ports/sysutils/pv/# make install clean

O agregue el paquete binario de la siguiente manera:

# pkg_add-r pv

¿Cómo uso el comando pv en Linux?

pv. se usa principalmente con otros programas que carecen de la capacidad de monitorear el progreso de una operación en curso. Puede usarlo colocándolo en una canalización entre dos procesos, con las opciones adecuadas disponibles.

La entrada estándar de pv. pasará a su salida y progreso estándar (salida) se imprimirá en error estándar. Tiene un comportamiento similar al comando cat en Linux.

La sintaxis del comando pv es la siguiente:

pv file pv options file pv file> filename.out pv options | comando> nombrearchivo.out comand1 | pv | command2

Las opciones utilizadas con pv. se dividen en tres categorías, interruptores de visualización. modificadores de salida. y opciones generales.

Algunas opciones en modificadores de visualización.

  1. Para activar la barra de visualización, use la opción -p.
  2. Para ver el tiempo transcurrido, use el –timer. opción.
  3. Para activar el temporizador ETA que intenta adivinar cuánto tiempo tomará antes de que se complete una operación, use la opción –eta. La estimación se basa en las tasas de transferencia anteriores y el tamaño total de los datos.
  4. Para activar un contador de tasas, use la opción –rate.
  5. Para mostrar la cantidad total de datos transferidos hasta ahora, use la opción –bytes.
  6. Para mostrar el informe de progreso del porcentaje entero en lugar de una indicación visual, use -n. opción. Esto puede ser bueno cuando se usa pv. con el comando de diálogo para mostrar el progreso en un cuadro de diálogo.

Algunas opciones en modificadores de salida.

  1. Para esperar hasta que se transfiera el primer byte antes de mostrar la información de progreso, use la opción –wait.
  2. Para asumir que la cantidad total de datos que se transferirán es SIZE. bytes al calcular el porcentaje y ETA, use la opción –size SIZE.
  3. Para especificar segundos entre actualizaciones, use el –interval SECONDS. opción.
  4. Utilice la opción –force. para forzar una operación. Esta opción obliga a pv a mostrar imágenes cuando el error estándar no es una terminal.
  5. Las opciones generales son –ayuda. para mostrar información de uso y –versión. para mostrar información de la versión.

Usar el comando pv con ejemplos

1.. Cuando no se incluye ninguna opción, pv. Los comandos se ejecutan con los valores predeterminados -p. -t. -e. -r. y -b. opciones.

Por ejemplo, para copiar el archivo opensuse.vdi. a /tmp/opensuse.vdi. ejecute este comando y observe el barra de progreso en screencast.

# pv opensuse.vdi>/tmp/opensuse.vdi

​​ Copiar archivos Mostrar barra de progreso  Copiar archivos Mostrar barra de progreso

2.. Para crear un archivo zip desde su/var/log/syslog, ejecute el siguiente comando.

# pv/var/log/syslog | zip> syslog.zip

 Archivo Zip Mostrar barra de progreso  Archivo Zip Mostrar barra de progreso

3.. Para contar el número de líneas, palabras y bytes en el archivo /etc/hosts. mientras se muestra solo la barra de progreso, ejecute este comando a continuación.

# pv-p/etc/hosts | wc

Contar líneas, palabras y bytes en Linux  Contar líneas, palabras y bytes en Linux

4.. Supervise el progreso de la creación de un archivo de copia de seguridad mediante la utilidad tar.

# tar-czf-./Downloads/| (pv-p–timer–rate–bytes> backup.tgz)

Crear copia de seguridad de alquitrán: Mostrar barra de progreso Crear Copia de seguridad de alquitrán: Mostrar barra de progreso

5.. Usar la herramienta de terminal pv. y dialog. juntas para crear una barra de progreso de diálogo de la siguiente manera.

# tar-czf-./Documents/| (pv-n> backup.tgz) 2> & 1 | dialog–gauge “Progreso” 10 70 Crear cuadro de diálogo de progreso  Crear cuadro de diálogo de progreso Crear cuadro de diálogo de progreso

Resumen

Esta es una buena herramienta basada en terminal que puede usar con herramientas que no tienen la capacidad de monitorear el progreso de operaciones como hacer frente/mover/hacer copias de seguridad de archivos, para obtener más opciones, consulte man pv.

Espero que este artículo le resulte útil y que pueda publicar un comentario si tiene alguna idea que agregar sobre el uso comando pv. Y si obtiene algún error mientras lo usa, también puede dejar un comentario.