Jinsi ya Kufuatilia Maendeleo ya (Copy/Backup/Compress) Data kwa kutumia pv Command


Wakati wa kutengeneza chelezo, kushughulikia/kusogeza faili kubwa kwenye mfumo wako wa Linux, unaweza kutaka kufuatilia maendeleo ya operesheni inayoendelea. Zana nyingi za wastaafu hazina utendakazi wa kukuruhusu kutazama maelezo ya maendeleo wakati amri inaendeshwa kwenye bomba.

Katika makala hii, tutaangalia amri muhimu ya Linux/Unix inayoitwa pv.

Pv ni zana ya msingi ambayo hukuruhusu kufuatilia maendeleo ya data inayotumwa kupitia bomba. Unapotumia amri ya pv, hukupa onyesho la kuona la habari ifuatayo:

  1. Wakati ambao umepita.
  2. Asilimia iliyokamilishwa ikijumuisha upau wa maendeleo.
  3. Inaonyesha kiwango cha sasa cha utumaji.
  4. Jumla ya data iliyohamishwa.
  5. na ETA (muda uliokadiriwa).

Jinsi ya kufunga amri ya pv kwenye Linux?

Amri hii haijasakinishwa kwa chaguo-msingi kwenye usambazaji mwingi wa Linux, kwa hivyo unaweza kuisakinisha kwa kufuata hatua zilizo hapa chini.

Kwanza unahitaji kuwasha hazina ya EPEL na kisha endesha amri ifuatayo.

# 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

Unaweza kutumia bandari kuiweka kama ifuatavyo:

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

AU ongeza kifurushi cha binary kama ifuatavyo:

# pkg_add -r pv

Je! ninatumiaje amri ya pv kwenye Linux?

pv hutumiwa zaidi na programu zingine ambazo hazina uwezo wa kufuatilia maendeleo ya operesheni inayoendelea. Unaweza kuitumia, kwa kuiweka kwenye bomba kati ya taratibu mbili, na chaguzi zinazofaa zinazopatikana.

Ingizo la kawaida la pv litapitishwa kwa matokeo yake ya kawaida na maendeleo (pato) yatachapishwa kwa hitilafu ya kawaida. Ina tabia sawa na amri ya paka katika Linux.

Syntax ya amri ya pv kama ifuatavyo:

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

Chaguzi zinazotumiwa na pv zimegawanywa katika kategoria tatu, swichi za kuonyesha, virekebisha matokeo na chaguzi za jumla.

  1. Ili kuwasha upau wa kuonyesha, tumia chaguo la -p.
  2. Ili kuona muda uliopita, tumia chaguo la -timer.
  3. Ili kuwasha kipima muda cha ETA ambacho kinajaribu kukisia itachukua muda gani kabla ya operesheni kukamilika, tumia chaguo la -eta. Nadhani inategemea viwango vya awali vya uhamishaji na saizi ya jumla ya data.
  4. Ili kuwasha kihesabu bei tumia chaguo la -rate.
  5. Ili kuonyesha jumla ya kiasi cha data iliyohamishwa kufikia sasa, tumia chaguo la –baiti.
  6. Ili kuonyesha taarifa ya maendeleo ya asilimia kamili badala ya viashiria vinavyoonekana, tumia -n chaguo. Hii inaweza kuwa nzuri unapotumia pv na amri ya mazungumzo ili kuonyesha maendeleo katika kisanduku cha mazungumzo.

  1. Ili kusubiri hadi baiti ya kwanza ihamishwe kabla ya kuonyesha maelezo ya maendeleo, tumia chaguo la -subiri.
  2. Kuchukulia jumla ya kiasi cha data itakayohamishwa ni baiti SIZE wakati wa kukokotoa asilimia na ETA, tumia chaguo la -size SIZE.
  3. Ili kubainisha sekunde kati ya masasisho, tumia -interval SECONDS chaguo.
  4. Tumia -force chaguo kulazimisha operesheni. Chaguo hili hulazimisha pv kuonyesha vielelezo wakati hitilafu ya kawaida si ya mwisho.
  5. Chaguo za jumla ni -msaada wa kuonyesha maelezo ya matumizi na -toleo ili kuonyesha maelezo ya toleo.

Tumia Amri ya pv na Mifano

1. Wakati hakuna chaguo lililojumuishwa, amri za pv huendeshwa na chaguo-msingi -p, -t, -e, -r na -b.

Kwa mfano, kunakili faili ya opensuse.vdi kwa /tmp/opensuse.vdi, endesha amri hii na utazame upau wa maendeleo kwenye skrini.

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

2. Kutengeneza faili ya zip kutoka kwa faili yako ya /var/log/syslog, endesha amri ifuatayo.

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

3. Ili kuhesabu idadi ya mistari, neno na baiti katika faili ya /etc/hosts huku ukionyesha upau wa maendeleo pekee, endesha amri hii hapa chini.

# pv -p /etc/hosts | wc

4. Fuatilia maendeleo ya kuunda faili ya chelezo kwa kutumia matumizi ya tar.

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

5. Kutumia pv na zana ya msingi ya mazungumzo ya mazungumzo pamoja ili kuunda upau wa maendeleo ya kidirisha kama ifuatavyo.

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

Muhtasari

Hiki ni zana nzuri ya msingi ambayo unaweza kutumia na zana ambazo hazina uwezo, kufuatilia maendeleo ya shughuli kama vile kushughulikia/kusonga/kucheleza faili, kwa chaguo zaidi angalia man pv.

Natumai unaona nakala hii kuwa ya msaada na unaweza kutuma maoni ikiwa una maoni yoyote ya kuongeza juu ya kutumia amri ya pv. Na ikiwa utapata hitilafu yoyote unapoitumia, unaweza pia kuacha maoni.