Wéi Monitor de Fortschrëtt vun (Kopie/Backup/Kompriméieren) Daten mat pv Command


Wann Dir Backups maacht, grouss Dateien op Ärem Linux System kopéiert/beweegt, wëllt Dir vläicht de Fortschrëtt vun enger lafender Operatioun iwwerwaachen. Vill Terminal Tools hunn net d'Funktionalitéit fir Iech z'erméiglechen Fortschrëtterinformatioun ze gesinn wann e Kommando an engem Päif leeft.

An dësem Artikel kucke mir e wichtege Linux/Unix Kommando genannt pv.

Pv ass en Terminal-baséiert Tool dat Iech erlaabt de Fortschrëtt vun Daten ze iwwerwaachen déi duerch e Päif geschéckt ginn. Wann Dir de pv Kommando benotzt, gëtt et Iech e visuellen Affichage vun der folgender Informatioun:

  1. D'Zäit déi vergaangen ass.
  2. De Prozentsaz fäerdeg mat enger Fortschrëttsbar.
  3. Weist den aktuellen Duerchschnëttsquote.
  4. Déi Gesamtdaten iwwerdroen.
  5. an d'ETA (geschätzte Zäit).

Wéi installéiere ech pv Command op Linux?

Dëse Kommando ass net als Standard op de meeschte Linux Verdeelungen installéiert, dofir kënnt Dir et installéieren andeems Dir d'Schrëtt hei ënnen befollegt.

Als éischt musst Dir EPEL Repository ausschalten an dann de folgende Kommando ausféieren.

# yum install pv
# dnf install pv            [On Fedora 22+ versions]
Dependencies Resolved

=================================================================================
 Package       Arch              Version                   Repository       Size
=================================================================================
Installing:
 pv            x86_64            1.4.6-1.el7               epel             47 k

Transaction Summary
=================================================================================
Install  1 Package

Total download size: 47 k
Installed size: 93 k
Is this ok [y/d/N]: y
Downloading packages:
pv-1.4.6-1.el7.x86_64.rpm                                 |  47 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : pv-1.4.6-1.el7.x86_64                                         1/1 
  Verifying  : pv-1.4.6-1.el7.x86_64                                         1/1 

Installed:
  pv.x86_64 0:1.4.6-1.el7                                                        

Complete!
# apt-get install pv
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  pv
0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded.
Need to get 33.7 kB of archives.
After this operation, 160 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe pv amd64 1.2.0-1 [33.7 kB]
Fetched 33.7 kB in 0s (48.9 kB/s)
Selecting previously unselected package pv.
(Reading database ... 216340 files and directories currently installed.)
Preparing to unpack .../archives/pv_1.2.0-1_amd64.deb ...
Unpacking pv (1.2.0-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up pv (1.2.0-1) ...
# emerge --ask sys-apps/pv

Dir kënnt den Hafen benotze fir se wéi follegt z'installéieren:

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

ODER füügt de binäre Package wéi follegt:

# pkg_add -r pv

Wéi benotzen ech pv Command a Linux?

pv gëtt meeschtens mat anere Programmer benotzt déi d'Fäegkeet feelen fir de Fortschrëtt vun enger lafender Operatioun ze iwwerwaachen. Dir kënnt et benotzen, andeems Dir et an enger Pipeline tëscht zwee Prozesser setzt, mat de passenden Optiounen verfügbar.

De Standardinput vu pv gëtt op säi Standardoutput weidergeleet an de Fortschrëtt (Output) gëtt op Standardfehler gedréckt. Et huet en ähnlecht Verhalen wéi de Cat Kommando am Linux.

D'Syntax vum pv Kommando wéi follegt:

pv file
pv options file
pv file > filename.out
pv options | command > filename.out
comand1 | pv | command2 

D'Optioune benotzt mat pv sinn an dräi Kategorien opgedeelt, Displayschalter, Ausgangsmodifikateur an allgemeng Optiounen.

  1. Fir d'Displaybar auszeschalten, benotzt d'Optioun -p.
  2. Fir déi vergaangen Zäit ze gesinn, benotzt d'Optioun –Timer.
  3. Fir den ETA Timer auszeschalten dee probéiert ze roden wéi laang et dauert ier eng Operatioun fäerdeg ass, benotzt d'–eta Optioun. D'Guess baséiert op fréiere Transferraten an der Gesamtdatengréisst.
  4. Fir en Tarifferteller auszeschalten, benotzt d'–rate Optioun.
  5. Fir de Gesamtbetrag vun den Daten, déi bis elo transferéiert goufen, ze weisen, benotzt d'Optioun –bytes.
  6. Fir de Fortschrëttsinformatioun vum ganzen Prozentsaz ze weisen anstatt visueller Indikatioun, benotzt d'Optioun -n. Dëst kann gutt sinn wann Dir pv mam Dialog Kommando benotzt fir Fortschrëtter an enger Dialogbox ze weisen.

  1. Fir ze waarden bis den éischte Byte iwwerdroe gëtt ier Dir Fortschrëtterinformatioun weist, benotzt d'-wait Optioun.
  2. Fir unzehuelen datt de Gesamtbetrag vun den iwwerdroenen Donnéeën SIZE Bytes ass wann Dir Prozentsaz an ETA berechnen, benotzt d'Optioun -size SIZE.
  3. Fir Sekonnen tëscht Updates ze spezifizéieren, benotzt d'Optioun –interval SECONDS.
  4. Benotzt –force Optioun fir eng Operatioun ze forcéieren. Dës Optioun forcéiert pv fir Visuals ze weisen wann de Standardfehler keen Terminal ass.
  5. Déi allgemeng Optiounen sinn –help fir Benotzungsinformatioun ze weisen an –version fir Versiounsinformatioun ze weisen.

Benotzt pv Kommando mat Beispiller

1. Wann keng Optioun abegraff ass, lafen pv Kommandoen mat Standard -p, -t, -e, -r an -b Optiounen.

Zum Beispill, fir d'Opensuse.vdi Datei op /tmp/opensuse.vdi ze kopéieren, fuert dëse Kommando a kuckt d'Fortschrëtterbar am Screencast.

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

2. Fir eng Zip-Datei aus Ärer /var/log/syslog-Datei ze maachen, fuert de folgende Kommando.

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

3. Fir d'Zuel vun de Linnen, Wuert a Bytes an der Datei /etc/hosts ze zielen, während nëmmen d'Fortschrëtterbar weist, fuert dëse Kommando hei ënnen.

# pv -p /etc/hosts | wc

4. Monitor de Fortschrëtt vun der Schafung vun enger Backupdatei mat Tar Utility.

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

5. Benotzen pv an Dialog Terminal-baséiert Outil zesummen eng Dialog Fortschrëtt Bar ze schafen wéi follegt.

# tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70

Resumé

Dëst ass e gutt terminalbaséiert Tool dat Dir mat Tools benotze kënnt déi net d'Fäegkeet hunn, fir de Fortschrëtt vun enger Operatioun ze iwwerwaachen wéi d'Coping/Plënneren/Backup vun Dateien, fir méi Optiounen kontrolléiert man pv.

Ech hoffen Dir fannt dësen Artikel hëllefräich an Dir kënnt e Kommentar posten wann Dir Iddien hutt fir iwwer d'Benotzung vum pv Kommando ze addéieren. A wann Dir Feeler kritt beim Gebrauch, kënnt Dir och e Kommentar hannerloossen.