വാച്ച്മാൻ - മാറ്റങ്ങൾക്കായുള്ള ഒരു ഫയലും ഡയറക്ടറിയും കാണാനുള്ള ഉപകരണം


വാച്ച്മാൻ ഒരു ഓപ്പൺ സോഴ്uസും ക്രോസ്-പ്ലാറ്റ്uഫോം ഫയൽ കാണൽ സേവനവുമാണ്, അത് കൂടുതൽ ശക്തമായ അറിയിപ്പ് നൽകുന്നതിന് ലിനക്സ് കേർണലിന്റെ യൂട്ടിലിറ്റിയെ അനോട്ടിഫൈ ചെയ്യുന്നു.

  • ഒന്നോ അതിലധികമോ ഡയറക്uടറി ട്രീകൾ ഇത് ആവർത്തിച്ച് നിരീക്ഷിക്കുന്നു.
  • കണ്ട ഓരോ ഡയറക്uടറിയെയും ഒരു റൂട്ട് എന്ന് വിളിക്കുന്നു.
  • ഇത് കമാൻഡ്-ലൈൻ വഴിയോ JSON ഫോർമാറ്റിൽ എഴുതിയ ഒരു കോൺഫിഗറേഷൻ ഫയൽ വഴിയോ കോൺഫിഗർ ചെയ്യാം.
  • ലോഗ് ഫയലുകളിലേക്കുള്ള മാറ്റങ്ങൾ ഇത് രേഖപ്പെടുത്തുന്നു.
  • ഒരു റൂട്ടിൽ സംഭവിക്കുന്ന ഫയൽ മാറ്റങ്ങളിലേക്കുള്ള സബ്uസ്uക്രിപ്uഷനെ പിന്തുണയ്ക്കുന്നു.
  • നിങ്ങൾ അവസാനം പരിശോധിച്ചതിന് ശേഷമുള്ള ഫയൽ മാറ്റങ്ങൾ അല്ലെങ്കിൽ ട്രീയുടെ നിലവിലെ അവസ്ഥ എന്നിവയ്ക്കായി ഒരു റൂട്ട് അന്വേഷിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.
  • ഇതിന് ഒരു പ്രോജക്റ്റ് മുഴുവനായി കാണാനാകും.

ഈ ലേഖനത്തിൽ, എങ്ങനെ വാച്ച്മാൻ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും ഉപയോഗിക്കാമെന്നും ഞങ്ങൾ വിശദീകരിക്കും, ഫയലുകൾ കാണാനും (മോണിറ്റർ) ലിനക്സിൽ അവ മാറുമ്പോൾ റെക്കോർഡ് ചെയ്യാനും. ഒരു ഡയറക്uടറി എങ്ങനെ കാണാമെന്നും അത് മാറുമ്പോൾ ഒരു സ്uക്രിപ്റ്റ് അഭ്യർത്ഥിക്കാമെന്നും ഞങ്ങൾ ഹ്രസ്വമായി കാണിക്കും.

ലിനക്സിൽ വാച്ച്മാൻ ഫയൽ വാച്ചിംഗ് സേവനം ഇൻസ്റ്റാൾ ചെയ്യുന്നു

ഉറവിടങ്ങളിൽ നിന്ന് വാച്ച്മാൻ സേവനം ഞങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യും, അതിനാൽ ആദ്യം നിങ്ങളുടെ Linux വിതരണത്തിൽ ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ആവശ്യമായ libssl-dev, autoconf, automake libtool, setuptools, python-devel, libfolly എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യുക.

----------- On Debian/Ubuntu ----------- 
$ sudo apt install autoconf automake build-essential python-setuptools python-dev libssl-dev libtool 

----------- On RHEL/CentOS -----------
# yum install autoconf automake python-setuptools python-devel openssl-devel libssl-devel libtool 
# yum groupinstall 'Development Tools' 

----------- On Fedora -----------
$ sudo dnf install autoconf automake python-setuptools openssl-devel libssl-devel libtool 
$ sudo dnf groupinstall 'Development Tools'  

ആവശ്യമായ ഡിപൻഡൻസികൾ ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് അതിന്റെ ഗിത്തബ് ശേഖരം ഡൗൺലോഡ് ചെയ്തുകൊണ്ട് വാച്ച്മാൻ നിർമ്മിക്കാൻ ആരംഭിക്കാം, ലോക്കൽ റിപ്പോസിറ്ററിയിലേക്ക് നീങ്ങുക, ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് കോൺഫിഗർ ചെയ്യുക, നിർമ്മിക്കുക, ഇൻസ്റ്റാൾ ചെയ്യുക.

$ git clone https://github.com/facebook/watchman.git
$ cd watchman
$ git checkout v4.9.0  
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

ലിനക്സിൽ വാച്ച്മാൻ ഉപയോഗിച്ച് ഫയലുകളും ഡയറക്ടറികളും കാണുന്നു

വാച്ച്മാനെ രണ്ട് തരത്തിൽ ക്രമീകരിക്കാം: (1) ഡെമൺ പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുമ്പോൾ കമാൻഡ്-ലൈൻ വഴി അല്ലെങ്കിൽ (2) JSON ഫോർമാറ്റിൽ എഴുതിയ കോൺഫിഗറേഷൻ ഫയൽ വഴി.

മാറ്റങ്ങൾക്കായി ഒരു ഡയറക്ടറി (ഉദാ. ~/bin) കാണുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ watchman watch ~/bin/

താഴെ പറയുന്ന കമാൻഡ് JSON ഫോർമാറ്റിലും log< എന്ന ലോഗ് ഫയലിലും /usr/local/var/run/watchman/-state/ എന്നതിന് കീഴിൽ state എന്നൊരു കോൺഫിഗറേഷൻ ഫയൽ എഴുതുന്നു. /കോഡ്> അതേ സ്ഥലത്ത്.

കാറ്റ് കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് രണ്ട് ഫയലുകൾ കാണാനാകും.

$ cat /usr/local/var/run/watchman/aaronkilik-state/state
$ cat /usr/local/var/run/watchman/aaronkilik-state/log

മാറ്റങ്ങൾക്കായി ഒരു ഡയറക്uടറി കാണുമ്പോൾ എന്ത് പ്രവർത്തനമാണ് പ്രവർത്തനക്ഷമമാക്കേണ്ടതെന്നും നിങ്ങൾക്ക് നിർവചിക്കാം. ഉദാഹരണത്തിന് ഇനിപ്പറയുന്ന കമാൻഡിൽ, 'test-trigger' എന്നത് ട്രിഗറിന്റെ പേരും ~bin/pav.sh എന്നത് മാറ്റങ്ങൾ കണ്ടെത്തുമ്പോൾ അഭ്യർത്ഥിക്കുന്ന സ്ക്രിപ്റ്റും ആണ്. നിരീക്ഷിക്കപ്പെടുന്ന ഡയറക്ടറിയിൽ.

ടെസ്റ്റ് ആവശ്യങ്ങൾക്കായി, pav.sh സ്uക്രിപ്റ്റ് സ്uക്രിപ്റ്റ് സംഭരിച്ചിരിക്കുന്ന അതേ ഡയറക്uടറിക്കുള്ളിൽ ഒരു ടൈംസ്റ്റാമ്പ് (അതായത് file.$time.txt) ഉള്ള ഒരു ഫയൽ സൃഷ്uടിക്കുന്നു.

time=`date +%Y-%m-%d.%H:%M:%S`
touch file.$time.txt

ഫയൽ സേവ് ചെയ്ത് കാണിച്ചിരിക്കുന്നതുപോലെ സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കുക.

$ chmod +x ~/bin/pav.sh

ട്രിഗർ സമാരംഭിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ watchman -- trigger ~/bin 'test-trigger' -- ~/bin/pav.sh

ഒരു ഡയറക്uടറിയിൽ ഒരു കണ്ണ് സൂക്ഷിക്കാൻ നിങ്ങൾ വാച്ച്മാൻ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, അത് വാച്ച് ലിസ്റ്റിലേക്ക് ചേർക്കുകയും അത് കാണുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ watchman watch-list 

ഒരു റൂട്ടിനായുള്ള ട്രിഗർ ലിസ്റ്റ് കാണുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക (~/bin പകരം root പേര് നൽകുക).

$ watchman trigger-list ~/bin

മുകളിലെ കോൺഫിഗറേഷനെ അടിസ്ഥാനമാക്കി, ഓരോ തവണയും ~/bin ഡയറക്uടറി മാറുമ്പോൾ, file.2019-03-13.23:14:17.txt പോലുള്ള ഒരു ഫയൽ അതിനുള്ളിൽ സൃഷ്ടിക്കപ്പെടുന്നു ls കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് അവ കാണാനാകും.

$ ls

ലിനക്സിൽ വാച്ച്മാൻ സേവനം അൺഇൻസ്റ്റാൾ ചെയ്യുന്നു

നിങ്ങൾക്ക് വാച്ച്മാൻ അൺഇൻസ്റ്റാൾ ചെയ്യണമെങ്കിൽ, സോഴ്സ് ഡയറക്ടറിയിലേക്ക് നീങ്ങി ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക:

$ sudo make uninstall
$ cd '/usr/local/bin' && rm -f watchman 
$ cd '/usr/local/share/doc/watchman-4.9.0 ' && rm -f README.markdown 

കൂടുതൽ വിവരങ്ങൾക്ക്, വാച്ച്മാൻ ഗിത്തബ് ശേഖരം സന്ദർശിക്കുക: https://github.com/facebook/watchman.

ഇനിപ്പറയുന്ന അനുബന്ധ ലേഖനങ്ങൾ വായിക്കാനും നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.

  1. Swatchdog - Linux-ൽ തത്സമയം ലളിതമായ ലോഗ് ഫയൽ വാച്ചർ
  2. ലോഗ് ഫയലുകൾ തത്സമയം കാണാനോ നിരീക്ഷിക്കാനോ ഉള്ള 4 വഴികൾ
  3. fswatch – Linux-ലെ ഫയലുകളും ഡയറക്uടറി മാറ്റങ്ങളും നിരീക്ഷിക്കുന്നു
  4. Pyintify – Linux-ൽ തത്സമയം ഫയൽസിസ്റ്റം മാറ്റങ്ങൾ നിരീക്ഷിക്കുക
  5. ഇനാവ് - ലിനക്സിൽ തത്സമയം അപ്പാച്ചെ ലോഗുകൾ കാണുക

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