Watchman - ເຄື່ອງມືເບິ່ງເອກະສານແລະລາຍຊື່ ສຳ ລັບການປ່ຽນແປງ


Watchman ແມ່ນບໍລິການເບິ່ງເອກະສານແບບເປີດແລະຂ້າມເວທີເຊິ່ງເຮັດໃຫ້ປະໂຫຍດສູງສຸດຂອງ Linux kernel ເພື່ອໃຫ້ມີການແຈ້ງເຕືອນທີ່ມີປະສິດຕິພາບສູງຂື້ນ.

  • ມັນເຝົ້າເບິ່ງຄືນຕົ້ນໄມ້ທີ່ໄດເລກະທໍລີ ໜຶ່ງ ຫຼືຫຼາຍຕົ້ນ.
  • ແຕ່ລະໄດເລກະທໍລີທີ່ຖືກເບິ່ງແມ່ນຖືກເອີ້ນວ່າຮາກ.
  • ມັນສາມາດຕັ້ງຄ່າໄດ້ຜ່ານເສັ້ນ ຄຳ ສັ່ງຫລືເອກະສານການຕັ້ງຄ່າທີ່ຂຽນເປັນຮູບແບບ JSON.
  • ມັນບັນທຶກການປ່ຽນແປງເພື່ອເຂົ້າສູ່ລະບົບແຟ້ມເອກະສານ.
  • ສະ ໜັບ ສະ ໜູນ ການສະ ໝັກ ໃຊ້ເພື່ອຍື່ນການປ່ຽນແປງທີ່ເກີດຂື້ນໃນຮາກ.
  • ອະນຸຍາດໃຫ້ທ່ານສອບຖາມຮາກ ສຳ ລັບການປ່ຽນເອກະສານຕັ້ງແຕ່ທ່ານກວດເບິ່ງຄັ້ງສຸດທ້າຍ, ຫຼືສະພາບຂອງຕົ້ນໄມ້ປະຈຸບັນ.
  • ມັນສາມາດເບິ່ງໂຄງການທັງ ໝົດ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງແລະ ນຳ ໃຊ້ watchman ເພື່ອເບິ່ງ (ຕິດຕາມ) ເອກະສານແລະບັນທຶກເມື່ອພວກເຂົາປ່ຽນໃນ Linux. ພວກເຮົາຍັງຈະສະແດງໂດຍຫຍໍ້ກ່ຽວກັບວິທີເບິ່ງລາຍການແລະຂໍສະຄຣິບເມື່ອມັນປ່ຽນແປງ.

ຕິດຕັ້ງບໍລິການເບິ່ງເອກະສານ Watchman ໃນ Linux

ພວກເຮົາຈະຕິດຕັ້ງບໍລິການ watchman ຈາກແຫລ່ງຕ່າງໆ, ສະນັ້ນ ທຳ ອິດຕິດຕັ້ງຄວາມເພິ່ງພາທີ່ ຈຳ ເປັນເຫຼົ່ານີ້ libssl-dev, autoconf, automake libtool, setuptools, python-devel ແລະ libfolly ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ກ່ຽວກັບການແຈກຈ່າຍ Linux ຂອງທ່ານ.

----------- 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'  

ເມື່ອການຕິດຕັ້ງເພິ່ງພາຄວາມ ຈຳ ເປັນ, ທ່ານສາມາດເລີ່ມຕົ້ນສ້າງ watchman ໂດຍການດາວໂຫລດຫໍສະມຸດ github ຂອງມັນ, ຍ້າຍເຂົ້າໄປໃນຫໍສະມຸດທ້ອງຖິ່ນ, ກຳ ນົດ, ສ້າງແລະຕິດຕັ້ງມັນໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

ເບິ່ງເອກະສານແລະໄດເລກະທໍລີທີ່ມີ Watchman ໃນ Linux

Watchman ສາມາດຕັ້ງຄ່າໄດ້ສອງທາງ: (1) ຜ່ານເສັ້ນ ຄຳ ສັ່ງໃນຂະນະທີ່ daemon ກຳ ລັງເຮັດວຽກຢູ່ໃນພື້ນຫລັງຫລື (2) ຜ່ານເອກະສານການຕັ້ງຄ່າທີ່ຂຽນເປັນຮູບແບບ JSON.

ເພື່ອເບິ່ງລາຍຊື່ໄດເລກະທໍລີ (ເຊັ່ນ: ລະຫັດ ~/ຖັງ ) ສຳ ລັບການປ່ຽນແປງ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ watchman watch ~/bin/

ຄຳ ສັ່ງຕໍ່ໄປນີ້ຂຽນເອກະສານການຕັ້ງຄ່າທີ່ເອີ້ນວ່າ state ພາຍໃຕ້/usr/local/var/run/watchman/ -state /, ໃນຮູບແບບ JSON ພ້ອມທັງເອກະສານບັນທຶກທີ່ເອີ້ນວ່າ log ຢູ່ບ່ອນດຽວກັນ.

ທ່ານສາມາດເບິ່ງສອງເອກະສານໂດຍໃຊ້ ຄຳ ສັ່ງແມວດັ່ງທີ່ສະແດງ.

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

ທ່ານຍັງສາມາດ ກຳ ນົດການກະ ທຳ ໃດທີ່ຈະກະຕຸ້ນໃນເວລາທີ່ໄດເລກະທໍລີ ກຳ ລັງຕິດຕາມການປ່ຽນແປງ. ຕົວຢ່າງໃນ ຄຳ ສັ່ງຕໍ່ໄປນີ້, ' test-trigger ' ແມ່ນຊື່ຂອງລະຫັດແລະ ~ bin/pav.sh ແມ່ນຕົວອັກສອນທີ່ຈະຖືກຮຽກຮ້ອງເມື່ອມີການປ່ຽນແປງ. ໃນໄດເລກະທໍລີທີ່ຖືກກວດສອບ.

ສຳ ລັບຈຸດປະສົງການທົດສອບ, ຕົວອັກສອນ pav.sh ພຽງແຕ່ສ້າງແຟ້ມເອກະສານທີ່ມີຕາຕະລາງເວລາ (i. e. ລະຫັດເວລາ.

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

ໃນເວລາທີ່ທ່ານປະຕິບັດງານ watchman ເພື່ອຮັກສາຕາໃນໄດເລກະທໍລີ, ມັນເພີ່ມເຂົ້າໃນບັນຊີເບິ່ງແລະເພື່ອເບິ່ງມັນ, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້.

$ watchman watch-list 

ເພື່ອເບິ່ງບັນຊີລາຍຊື່ຜົນກະທົບຕໍ່ ສຳ ລັບຮາກ, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້ (ແທນ ~/bin ດ້ວຍຊື່ ຮາກ ).

$ watchman trigger-list ~/bin

ອີງຕາມການຕັ້ງຄ່າຂ້າງເທິງນີ້, ແຕ່ລະຄັ້ງການປ່ຽນແປງໄດເລກະທໍລີ ~/bin , ເອກະສານເຊັ່ນ file.2019-03-13.23: 14: 17.txt ຖືກສ້າງຂື້ນພາຍໃນ ແລະທ່ານສາມາດເບິ່ງພວກມັນໂດຍໃຊ້ ຄຳ ສັ່ງ ls.

$ ls

ຖອນການຕິດຕັ້ງບໍລິການ Watchman ໃນ Linux

ຖ້າທ່ານຕ້ອງການຖອນການຕິດຕັ້ງນັກສັງເກດການ, ຍ້າຍເຂົ້າໄປໃນໄດເລກະທໍລີແຫຼ່ງຂໍ້ມູນແລະ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

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

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ທ່ານສາມາດເຂົ້າເບິ່ງຫໍສັງເກດການຂອງ Watchman Github: https://github.com/facebook/watchman.

ທ່ານອາດຈະຢາກອ່ານບົດຄວາມທີ່ກ່ຽວຂ້ອງດັ່ງຕໍ່ໄປນີ້.

<

  • Swatchdog - ຕົວເກັບຂໍ້ມູນບັນທຶກງ່າຍໆໃນເວລາຈິງໃນ Linux
  • 4 ວິທີໃນການເບິ່ງຫລືກວດເບິ່ງເອກະສານ Log Log ໃນເວລາຈິງ
  • fswatch - ເອກະສານຕິດຕາມແລະການປ່ຽນແປງໄດເລກະທໍລີໃນ Linux
  • Pyintify - ຕິດຕາມການປ່ຽນແປງຂອງລະບົບໄຟລ໌ໃນເວລາຈິງໃນ Linux
  • Inav - ເບິ່ງບັນທຶກ Apache ໃນເວລາຈິງໃນ Linux
  • Watchman ແມ່ນບໍລິການເບິ່ງເອກະສານແບບເປີດແຫຼ່ງທີ່ເບິ່ງເອກະສານແລະບັນທຶກ, ຫຼືກະຕຸ້ນການກະ ທຳ, ເມື່ອພວກເຂົາປ່ຽນແປງ. ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອຖາມ ຄຳ ຖາມຫລືແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບພວກເຮົາ.