Otu esi enyocha ọganihu nke (Copy/Backup/Compress) data site na iji pv Command


Mgbe ị na-eme nkwado ndabere na mpaghara, na-anagide/na-ebugharị nnukwu faịlụ na sistemụ Linux gị, ị nwere ike ịchọ inyocha ọganihu nke ọrụ na-aga n'ihu. Ọtụtụ ngwaọrụ ọnụ enweghị ọrụ inye gị ohere ịlele ozi agamnihu mgbe iwu na-agba na ọkpọkọ.

N'isiokwu a, anyị ga-eleba anya na iwu Linux/Unix dị mkpa a na-akpọ pv.

Pv bụ ngwa dabere na njedebe nke na-enye gị ohere inyocha ọganihu nke data a na-eziga site na ọkpọkọ. Mgbe ị na-eji iwu pv, ọ na-enye gị ngosi ngosi nke ozi ndị a:

  1. Oge gafere.
  2. Pasent a emechara gụnyere ogwe ọganihu.
  3. Na-egosi ọnụego ntinye ugbu a.
  4. Ngụkọta data bufere.
  5. na ETA (oge echere).

Etu esi etinye iwu pv na Linux?

Awụnyeghị iwu a na ndabara na ọtụtụ nkesa Linux, yabụ ị nwere ike iwunye ya site na isoro usoro ndị dị n'okpuru.

Mbụ ịkwesịrị ịgbanwuo ebe nchekwa EPEL wee mee iwu a.

# 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

Ị nwere ike iji ọdụ ụgbọ mmiri wụnye ya dị ka ndị a:

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

MA ọ bụ tinye ngwungwu ọnụọgụ abụọ dịka ndị a:

# pkg_add -r pv

Kedu ka m ga-esi jiri pv Command na Linux?

A na-ejikarị pv eme ihe na mmemme ndị ọzọ na-enweghị ike nyochaa ọganihu nke ọrụ na-aga n'ihu. Ị nwere ike iji ya, site n'itinye ya na pipeline n'etiti usoro abụọ, na nhọrọ kwesịrị ekwesị dị.

A ga-agafe ntinye ọkọlọtọ nke pv na mmepụta ọkọlọtọ ya na ọganihu (mpụta) ga-ebipụta na njehie ọkọlọtọ. Ọ nwere omume yiri nke ahụ dị ka iwu cat na Linux.

Syntax nke iwu pv dị ka ndị a:

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

A na-ekewa nhọrọ ndị a na-eji pv mee ihe n'ime atọ, ihe ngbanwe ngosi, ihe mmepụta ihe na nhọrọ izugbe.

  1. Ka ịgbanwuo mmanya ngosi, jiri nhọrọ -p.
  2. Ka ilele oge gafere, jiri nhọrọ –timer.
  3. Ka ịgbanwuo ngụ oge ETA nke na-anwa ịkọ ogologo oge ọ ga-ewe tupu emechaa ọrụ, jiri nhọrọ –eta. Echiche a dabere na ọnụego mbufe gara aga yana mkpokọta data.
  4. Ka ịgbanwuo counter ọnụego jiri nhọrọ –rate.
  5. Iji gosipụta mkpokọta data ebufere ugbu a, jiri nhọrọ –bytes.
  6. Igosipụta ọkwa ọganihu nke pasenti integer kama igosi ihe ngosi, jiri nhọrọ -n. Nke a nwere ike ịdị mma mgbe ị na-eji pv na iwu dialog iji gosi ọganihu n'ime igbe okwu.

  1. Ichere ruo mgbe ebufere byte nke mbụ tupu igosipụta ozi agamnihu, jiri nhọrọ –wait.
  2. Iche na mkpokọta data aga-ebufe bụ SIZE bytes mgbe ị na-agbakọ pasentị yana ETA, jiri nhọrọ –size SIZE.
  3. Ka ịkọwapụta sekọnd n'etiti mmelite, jiri nhọrọ -interval SECONDS.
  4. Jiri -force nhọrọ ịmanye ọrụ. Nhọrọ a na-amanye pv ka ọ gosipụta ihe ngosi mgbe njehie ọkọlọtọ abụghị ọnụ.
  5. Nhọrọ izugbe bụ -help iji gosipụta ozi ojiji yana -ụdị iji gosipụta ozi ụdị.

Jiri pv Command jiri Ọmụmaatụ

1. Mgbe enweghị nhọrọ agụnyere, iwu pv na-eji ndabara -p, -t, -e, -r na -b nhọrọ.

Dịka ọmụmaatụ, ka idetuo faịlụ opensuse.vdi na /tmp/opensuse.vdi, mee iwu a wee lelee ogwe ọganihu na screencast.

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

2. Iji mee faịlụ zip site na faịlụ /var/log/syslog gị, gbaa iwu a.

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

3. Iji gụọ ọnụ ọgụgụ ahịrị, okwu na bytes na faịlụ /etc/hosts mgbe ị na-egosi naanị mmanya ọganihu, mee iwu a n'okpuru.

# pv -p /etc/hosts | wc

4. Nyochaa ọganihu nke ịmepụta faịlụ ndabere site na iji tar utility.

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

5. Iji pv na dialog ọnụ dabeere ngwá ọrụ ọnụ ike a dialog ọganihu mmanya dị ka ndị a.

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

Nchịkọta

Nke a bụ ngwá ọrụ dị mma nke dabeere na njedebe nke ị nwere ike iji na ngwaọrụ ndị na-enweghị ikike, iji nyochaa ọganihu nke ọrụ dị ka ịnagide/ịkwaga/ịkwado faịlụ, maka nhọrọ ndị ọzọ nyochaa man pv.

Enwere m olileanya na ị ga-ahụ isiokwu a na-enyere aka ma ị nwere ike biputere nkwupụta ma ọ bụrụ na ị nwere echiche ọ bụla ịgbakwunye gbasara iji iwu pv. Ma ọ bụrụ na ịnweta njehie ọ bụla mgbe ị na-eji ya, ị nwekwara ike hapụ ikwu okwu.