പിവി കമാൻഡ് ഉപയോഗിച്ച് ഡാറ്റയുടെ (പകർത്തുക/ബാക്കപ്പ്/കംപ്രസ്) പുരോഗതി എങ്ങനെ നിരീക്ഷിക്കാം


നിങ്ങളുടെ Linux സിസ്റ്റത്തിൽ ബാക്കപ്പുകൾ നിർമ്മിക്കുമ്പോൾ, വലിയ ഫയലുകൾ കൈകാര്യം ചെയ്യുമ്പോൾ/ചലിപ്പിക്കുമ്പോൾ, ഒരു ഓപ്പൺ ഓപ്പറേഷന്റെ പുരോഗതി നിങ്ങൾക്ക് നിരീക്ഷിക്കേണ്ടി വന്നേക്കാം. ഒരു പൈപ്പിൽ ഒരു കമാൻഡ് പ്രവർത്തിക്കുമ്പോൾ പുരോഗതിയുടെ വിവരങ്ങൾ കാണുന്നതിന് നിങ്ങളെ അനുവദിക്കുന്നതിനുള്ള പ്രവർത്തനക്ഷമത പല ടെർമിനൽ ടൂളുകളിലും ഇല്ല.

ഈ ലേഖനത്തിൽ, pv എന്ന് വിളിക്കപ്പെടുന്ന ഒരു പ്രധാന Linux/Unix കമാൻഡ് നമ്മൾ നോക്കും.

ഒരു പൈപ്പിലൂടെ അയയ്uക്കുന്ന ഡാറ്റയുടെ പുരോഗതി നിരീക്ഷിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ടെർമിനൽ അടിസ്ഥാനമാക്കിയുള്ള ഉപകരണമാണ് Pv. pv കമാൻഡ് ഉപയോഗിക്കുമ്പോൾ, ഇത് നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന വിവരങ്ങളുടെ ഒരു വിഷ്വൽ ഡിസ്പ്ലേ നൽകുന്നു:

  1. കഴിഞ്ഞുപോയ സമയം.
  2. ഒരു പുരോഗതി ബാർ ഉൾപ്പെടെയുള്ള ശതമാനം പൂർത്തിയായി.
  3. നിലവിലെ ത്രൂപുട്ട് നിരക്ക് കാണിക്കുന്നു.
  4. കൈമാറ്റം ചെയ്യപ്പെട്ട മൊത്തം ഡാറ്റ.
  5. ഒപ്പം ETA (കണക്കാക്കിയ സമയം).

ലിനക്സിൽ പിവി കമാൻഡ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം?

മിക്ക ലിനക്സ് വിതരണങ്ങളിലും ഈ കമാൻഡ് സ്ഥിരസ്ഥിതിയായി ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ല, അതിനാൽ ചുവടെയുള്ള ഘട്ടങ്ങൾ പിന്തുടർന്ന് നിങ്ങൾക്ക് ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

ആദ്യം നിങ്ങൾ EPEL റിപ്പോസിറ്ററി ഓണാക്കേണ്ടതുണ്ട്, തുടർന്ന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# 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

ഇനിപ്പറയുന്ന രീതിയിൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങൾക്ക് പോർട്ട് ഉപയോഗിക്കാം:

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

അല്ലെങ്കിൽ ബൈനറി പാക്കേജ് ഇനിപ്പറയുന്ന രീതിയിൽ ചേർക്കുക:

# pkg_add -r pv

ലിനക്സിൽ പിവി കമാൻഡ് എങ്ങനെ ഉപയോഗിക്കാം?

നിലവിലുള്ള ഒരു പ്രവർത്തനത്തിന്റെ പുരോഗതി നിരീക്ഷിക്കാനുള്ള കഴിവില്ലാത്ത മറ്റ് പ്രോഗ്രാമുകൾക്കൊപ്പമാണ് pv കൂടുതലും ഉപയോഗിക്കുന്നത്. രണ്ട് പ്രക്രിയകൾക്കിടയിൽ ഒരു പൈപ്പ്ലൈനിൽ സ്ഥാപിക്കുന്നതിലൂടെ, ലഭ്യമായ ഉചിതമായ ഓപ്ഷനുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാൻ കഴിയും.

പിവിയുടെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് അതിന്റെ സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്ക് കടത്തിവിടുകയും പുരോഗതി (ഔട്ട്പുട്ട്) സ്റ്റാൻഡേർഡ് പിശകിൽ പ്രിന്റ് ചെയ്യുകയും ചെയ്യും. ലിനക്സിലെ cat കമാൻഡിന് സമാനമായ ഒരു സ്വഭാവം ഇതിനുണ്ട്.

pv കമാൻഡിന്റെ വാക്യഘടന ഇപ്രകാരമാണ്:

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

പിവി ഉപയോഗിച്ചുള്ള ഓപ്ഷനുകളെ ഡിസ്പ്ലേ സ്വിച്ചുകൾ, ഔട്ട്പുട്ട് മോഡിഫയറുകൾ, പൊതുവായ ഓപ്ഷനുകൾ എന്നിങ്ങനെ മൂന്ന് വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു.

  1. ഡിസ്uപ്ലേ ബാർ ഓണാക്കാൻ, -p ഓപ്ഷൻ ഉപയോഗിക്കുക.
  2. കഴിഞ്ഞ സമയം കാണുന്നതിന് -ടൈമർ ഓപ്ഷൻ ഉപയോഗിക്കുക.
  3. ഒരു പ്രവർത്തനം പൂർത്തിയാകുന്നതിന് മുമ്പ് എത്ര സമയമെടുക്കുമെന്ന് ഊഹിക്കാൻ ശ്രമിക്കുന്ന ETA ടൈമർ ഓണാക്കാൻ, –eta ഓപ്ഷൻ ഉപയോഗിക്കുക. മുൻ കൈമാറ്റ നിരക്കുകളും മൊത്തം ഡാറ്റ വലുപ്പവും അടിസ്ഥാനമാക്കിയുള്ളതാണ് ഊഹം.
  4. ഒരു റേറ്റ് കൗണ്ടർ ഓണാക്കാൻ –റേറ്റ് ഓപ്ഷൻ ഉപയോഗിക്കുക.
  5. ഇതുവരെ കൈമാറ്റം ചെയ്യപ്പെട്ട ഡാറ്റയുടെ ആകെ തുക പ്രദർശിപ്പിക്കുന്നതിന്, –bytes ഓപ്ഷൻ ഉപയോഗിക്കുക.
  6. വിഷ്വൽ ഇൻഡിക്കേഷനുപകരം പൂർണ്ണസംഖ്യ ശതമാനത്തിന്റെ പുരോഗതി വിവരം പ്രദർശിപ്പിക്കുന്നതിന്, -n ഓപ്ഷൻ ഉപയോഗിക്കുക. ഒരു ഡയലോഗ് ബോക്സിൽ പുരോഗതി കാണിക്കാൻ ഡയലോഗ് കമാൻഡ് ഉപയോഗിച്ച് pv ഉപയോഗിക്കുമ്പോൾ ഇത് നല്ലതാണ്.

  1. പുരോഗതി വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിന് മുമ്പ് ആദ്യ ബൈറ്റ് കൈമാറുന്നത് വരെ കാത്തിരിക്കാൻ, -wait ഓപ്ഷൻ ഉപയോഗിക്കുക.
  2. ശതമാനവും ETA യും കണക്കാക്കുമ്പോൾ കൈമാറ്റം ചെയ്യപ്പെടുന്ന ഡാറ്റയുടെ ആകെ തുക SIZE ബൈറ്റുകളാണെന്ന് അനുമാനിക്കാൻ, -size SIZE ഓപ്ഷൻ ഉപയോഗിക്കുക.
  3. അപ്uഡേറ്റുകൾക്കിടയിലുള്ള സെക്കന്റുകൾ വ്യക്തമാക്കാൻ, –ഇന്റർവൽ സെക്കന്റ് ഓപ്ഷൻ ഉപയോഗിക്കുക.
  4. ഒരു ഓപ്പറേഷൻ നിർബന്ധിക്കാൻ –ഫോഴ്സ് ഓപ്ഷൻ ഉപയോഗിക്കുക. സ്റ്റാൻഡേർഡ് പിശക് ഒരു ടെർമിനൽ അല്ലാത്തപ്പോൾ വിഷ്വലുകൾ പ്രദർശിപ്പിക്കാൻ ഈ ഓപ്ഷൻ പിവിയെ നിർബന്ധിക്കുന്നു.
  5. ഉപയോഗ വിവരങ്ങൾ പ്രദർശിപ്പിക്കാൻ സഹായിക്കുക, പതിപ്പ് വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിനുള്ള പതിപ്പ് എന്നിവയാണ് പൊതുവായ ഓപ്ഷനുകൾ.

ഉദാഹരണങ്ങൾക്കൊപ്പം pv കമാൻഡ് ഉപയോഗിക്കുക

1. ഒരു ഓപ്uഷനും ഉൾപ്പെടുത്തിയിട്ടില്ലെങ്കിൽ, pv കമാൻഡുകൾ ഡിഫോൾട്ട് -p, -t, -e, -r, -b എന്നീ ഓപ്ഷനുകൾക്കൊപ്പം പ്രവർത്തിക്കുന്നു.

ഉദാഹരണത്തിന്, opensuse.vdi ഫയൽ /tmp/opensuse.vdi-ലേക്ക് പകർത്തുന്നതിന്, ഈ കമാൻഡ് പ്രവർത്തിപ്പിച്ച് സ്ക്രീൻകാസ്റ്റിലെ പ്രോഗ്രസ് ബാർ കാണുക.

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

2. നിങ്ങളുടെ /var/log/syslog ഫയലിൽ നിന്ന് ഒരു zip ഫയൽ നിർമ്മിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

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

3. പ്രോഗ്രസ് ബാർ മാത്രം കാണിക്കുമ്പോൾ /etc/hosts ഫയലിലെ വരികളുടെയും പദങ്ങളുടെയും ബൈറ്റുകളുടെയും എണ്ണം കണക്കാക്കാൻ, ഈ കമാൻഡ് താഴെ പ്രവർത്തിപ്പിക്കുക.

# pv -p /etc/hosts | wc

4. ടാർ യൂട്ടിലിറ്റി ഉപയോഗിച്ച് ഒരു ബാക്കപ്പ് ഫയൽ സൃഷ്ടിക്കുന്നതിന്റെ പുരോഗതി നിരീക്ഷിക്കുക.

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

5. ഇനിപ്പറയുന്ന രീതിയിൽ ഒരു ഡയലോഗ് പ്രോഗ്രസ് ബാർ സൃഷ്ടിക്കുന്നതിന് pv, ഡയലോഗ് ടെർമിനൽ അടിസ്ഥാനമാക്കിയുള്ള ടൂൾ എന്നിവ ഒരുമിച്ച് ഉപയോഗിക്കുന്നു.

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

സംഗ്രഹം

ഫയലുകൾ കോപ്പിംഗ്/മൂവിംഗ്/ബാക്കപ്പ് ചെയ്യൽ തുടങ്ങിയ പ്രവർത്തനങ്ങളുടെ പുരോഗതി നിരീക്ഷിക്കാൻ കഴിവില്ലാത്ത ടൂളുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഉപയോഗിക്കാവുന്ന ഒരു നല്ല ടെർമിനൽ അധിഷ്ഠിത ടൂളാണിത്, കൂടുതൽ ഓപ്ഷനുകൾക്ക് man pv പരിശോധിക്കുക.

ഈ ലേഖനം നിങ്ങൾക്ക് സഹായകരമാണെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു, കൂടാതെ pv കമാൻഡ് ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് ചേർക്കാൻ എന്തെങ്കിലും ആശയങ്ങൾ ഉണ്ടെങ്കിൽ നിങ്ങൾക്ക് ഒരു അഭിപ്രായം പോസ്റ്റുചെയ്യാനാകും. കൂടാതെ, ഇത് ഉപയോഗിക്കുമ്പോൾ നിങ്ങൾക്ക് എന്തെങ്കിലും പിശകുകൾ ഉണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഒരു അഭിപ്രായം രേഖപ്പെടുത്താം.