Kuidas jälgida (koopia/varundamine/tihendamine) andmete käsku pv-käsu abil


Varukoopiate tegemisel, suurte failide kopeerimisel/teisaldamisel oma Linuxi süsteemis võiksite jälgida käimasoleva toimingu edenemist. Paljudel terminalitööriistadel pole funktsionaalsust, mis võimaldaks teil edenemisteavet vaadata, kui torus töötab käsk.

Selles artiklis vaatleme olulist Linux/Unixi käsku pv.

Pv on terminalipõhine tööriist, mis võimaldab teil jälgida toru kaudu saadetavate andmete edenemist. Käsku pv kasutades kuvatakse teile visuaalselt järgmine teave:

  1. Aeg, mis on möödas.
  2. Täidetud protsent koos edenemisribaga.
  3. Näitab praegust läbilaskevõimet.
  4. Edastatud andmete koguarv.
  5. ja ETA (hinnanguline aeg).

Kuidas installida pv käsk Linuxi?

Seda käsku pole enamikus Linuxi jaotustes vaikimisi installitud, seetõttu saate selle installida järgides alltoodud samme.

Kõigepealt peate sisse lülitama EPEL-i hoidla ja käivitama järgmise käsu.

# 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

Porti saate selle installimiseks kasutada järgmiselt:

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

VÕI lisage binaarpakett järgmiselt:

# pkg_add -r pv

Kuidas kasutada pv-käsku Linuxis?

pv-d kasutatakse enamasti koos teiste programmidega, millel puudub võime käimasoleva operatsiooni kulgu jälgida. Saate seda kasutada, asetades selle kahe protsessi vahele torujuhtmesse koos vastavate võimalike võimalustega.

Pv standard sisend edastatakse selle standardväljundisse ja edenemine (väljund) trükitakse standardveale. See käitub sarnaselt kassi käsuga Linuxis.

Pv käsu süntaks järgmine:

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

Pv-ga kasutatavad suvandid on jagatud kolme kategooriasse: kuvalülitid, väljundi teisendajad ja üldised valikud.

  1. Kuvariba sisselülitamiseks kasutage valikut -p.
  2. Kulunud aja kuvamiseks kasutage valikut –taimer.
  3. ETA taimeri sisselülitamiseks, mis püüab arvata, kui kaua aega võtab enne toimingu lõpetamist, kasutage valikut –eta. Oletus põhineb varasematel edastuskiirustel ja andmete kogumahul.
  4. Kiiruse loenduri sisselülitamiseks kasutage valikut –rate.
  5. Seni edastatud andmete koguarvu kuvamiseks kasutage valikut –baiti.
  6. Täisarvu protsendi edenemise kuvamiseks visuaalse näitamise asemel kasutage valikut -n. See võib olla hea, kui kasutate dialoogiboksis progressi kuvamiseks dialoogikäskudega pv.

  1. Enne edenemisteabe kuvamist oodake, kuni esimene bait üle kantakse, kasutage valikut –oot.
  2. Kui eeldada, et ülekantavate andmete koguarv on protsendi ja eeldatava tulemuse arvutamisel SIZE baiti, kasutage valikut –suuruse SUURUS.
  3. Sekundite täpsustamiseks värskenduste vahel kasutage valikut –interval SECONDS.
  4. Operatsiooni sundimiseks kasutage valikut –Force. See valik sunnib PV-d visuaale kuvama, kui standardviga pole terminal.
  5. Üldised valikud on –aita kuvada kasutusteavet ja –versiooni versiooni teabe kuvamiseks.

Kasutage pv käsku koos näidetega

1. Kui ühtegi valikut pole lisatud, käivitatakse pv-käsud vaikevalikutega -p, -t, -e, -r ja -b.

Näiteks faili opensuse.vdi kopeerimiseks kataloogi /tmp/opensuse.vdi käivitage see käsk ja jälgige edastusriba ekraanikuva.

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

2. Zip-faili loomiseks oma/var/log/syslog-failist käivitage järgmine käsk.

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

3. Failide/etc/hosts ridade, sõna ja baitide arvu lugemiseks, kuvades ainult edenemisriba, käivitage see käsk allpool.

# pv -p /etc/hosts | wc

4. Jälgige tari utiliidi abil varukoopia loomise edenemist.

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

5. Kasutage pv ja dialoogiterminalipõhist tööriista koos dialoogi edenemisriba loomiseks järgmiselt.

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

Kokkuvõte

See on hea terminalipõhine tööriist, mida saate kasutada koos võimalustega tööriistadega, et jälgida toimingute, näiteks failide kopeerimine/teisaldamine/varundamine, edenemist.

Loodetavasti leiate sellest artiklist abi ja võite postitada kommentaari, kui teil on ideid pv-käsu kasutamise kohta. Ja kui selle kasutamisel ilmneb vigu, võite ka kommentaari jätta.