Watchman - Alat menonton fail dan direktori untuk perubahan

Watchman - Alat menonton fail dan direktori untuk perubahan

Watchman adalah sumber terbuka dan perkhidmatan menonton fail rentas platform yang menonton fail dan rekod atau melakukan tindakan apabila mereka menukar. Ia dibangunkan oleh Facebook dan berjalan di Linux, OS X, FreeBSD, dan Solaris. Ia berjalan dalam model pelayan pelanggan dan menggunakan utiliti inotify kernel Linux untuk memberikan pemberitahuan yang lebih kuat.

Konsep Watchman Berguna

  • Ia secara rekursif menonton menonton satu atau lebih pokok direktori.
  • Setiap direktori yang ditonton dipanggil akar.
  • Ia boleh dikonfigurasikan melalui baris arahan atau fail konfigurasi yang ditulis dalam format json.
  • Ia merekodkan perubahan pada fail log.
  • Menyokong langganan untuk perubahan fail yang berlaku dalam akar.
  • Membolehkan anda menanyakan akar untuk perubahan fail sejak anda terakhir diperiksa, atau keadaan pokok semasa.
  • Ia dapat menonton keseluruhan projek.

Dalam artikel ini, kami akan menerangkan cara memasang dan menggunakan Watchman untuk menonton (memantau) fail dan rekod apabila mereka menukar di Linux. Kami juga akan menunjukkan secara ringkas bagaimana menonton direktori dan memohon skrip apabila ia berubah.

Memasang Perkhidmatan Menonton Fail Watchman di Linux

Kami akan memasang Watchman perkhidmatan dari sumber, jadi pasang terlebih dahulu ini dependensi yang diperlukan libssl-dev, Autoconf, Automake libtool, setuptools, python-devel dan libfolly Menggunakan arahan berikut pada taburan Linux anda.

----------- Di Debian/Ubuntu ----------- $ sudo apt pemasangan autoconf automake binaan python-setuptools python-dev libssl-dev libool ----------- Pada rhel/centos ----------- # yum Pasang autoconf automake python-setuptools python-devel openssl-devel libssl-devel libtool # yum groupinstall 'development tools' ----------- Di Fedora ----------- $ sudo dnf memasang autoconf automake python-setuptools openssl-devel libssl-devel libtool $ sudo dnf groupinstall 'development' alat ' 

Setelah dikehendaki dikehendaki, anda boleh memulakan Bangunan Watchman dengan memuat turun repositori GitHubnya, bergerak ke repositori tempatan, mengkonfigurasi, membina dan memasangnya menggunakan arahan berikut.

$ git clone https: // github.com/Facebook/Watchman.Git $ CD Watchman $ git checkout v4.9.0 $ ./autogen.sh $ ./konfigurasikan $ membuat $ sudo buat pemasangan 

Menonton fail dan direktori dengan Watchman di Linux

Watchman boleh dikonfigurasikan dalam dua cara: (1) melalui baris arahan sementara daemon berjalan di latar belakang atau (2) melalui fail konfigurasi yang ditulis dalam format json.

Untuk menonton direktori (e.g ~/bin) untuk perubahan, jalankan arahan berikut.

$ Watchman Watch ~/bin/ 
Tonton Direktori di Linux

Perintah berikut menulis fail konfigurasi yang dipanggil Negeri di bawah /usr/local/var/run/watchman/-state/, dalam format JSON serta fail log yang dipanggil log Di lokasi yang sama.

Anda boleh melihat kedua -dua fail menggunakan perintah kucing sebagai persembahan.

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

Anda juga boleh menentukan tindakan apa yang dicetuskan apabila direktori ditonton untuk perubahan. Contohnya dalam perintah berikut, 'Test-Trigger'adalah nama pencetus dan ~ bin/pav.sh adalah skrip yang akan digunakan apabila perubahan dikesan dalam direktori yang dipantau.

Untuk tujuan ujian, Pav.sh skrip hanya membuat fail dengan Timestamp (i.e fail.$ masa.txt) dalam direktori yang sama di mana skrip disimpan.

masa = 'tarikh +%y-%m-%d.%H:%m:%s 'sentuh fail.$ masa.txt 

Simpan fail dan buat skrip boleh dilaksanakan seperti yang ditunjukkan.

$ chmod +x ~/bin/pav.sh 

Untuk melancarkan pencetus, jalankan arahan berikut.

$ Watchman-Trigger ~/bin 'Test-Trigger'-~/bin/Pav.sh 
Buat pencetus di direktori

Semasa anda melaksanakan Watchman Untuk mengawasi direktori, ditambah ke senarai jam tangan dan melihatnya, jalankan arahan berikut.

$ Watchman Watch-list 
Lihat senarai menonton

Untuk melihat senarai pencetus untuk a akar, jalankan arahan berikut (ganti ~/bin dengan akar nama).

$ Watchman Trigger-List ~/Bin 
Tunjukkan senarai pencetus untuk akar

Berdasarkan konfigurasi di atas, setiap kali ~/bin Direktori berubah, fail seperti fail.2019-03-13.23:14:17.txt dibuat di dalamnya dan anda boleh melihatnya menggunakan arahan LS.

$ ls 
Konfigurasi Watchman Test

Nyahpasang Perkhidmatan Watchman di Linux

Sekiranya anda mahu menyahpasang Watchman, Pindah ke direktori sumber dan jalankan arahan berikut:

$ sudo membuat uninstall $ cd '/usr/local/bin' && rm -f watchman $ cd '/usr/local/share/doc/watchman -4.9.0 '&& rm -f Readme.Markdown 

Untuk maklumat lanjut, lawati Repositori Watchman Github: https: // github.com/Facebook/Watchman.

Anda mungkin juga ingin membaca artikel berkaitan berikut.

  1. Swatchdog - Pemantau fail log mudah dalam masa nyata di Linux
  2. 4 cara untuk menonton atau memantau fail log dalam masa nyata
  3. fswatch - memantau fail dan perubahan direktori di linux
  4. Pyintify - Pantau perubahan sistem fail dalam masa nyata di linux
  5. INAV - Tonton Log Apache dalam masa nyata di Linux

Watchman adalah perkhidmatan menonton fail sumber terbuka yang menonton fail dan rekod, atau mencetuskan tindakan, ketika mereka menukar. Gunakan borang maklum balas di bawah untuk mengemukakan soalan atau kongsi pendapat anda dengan kami.