Watchman - Alat menonton file dan direktori untuk perubahan

Watchman - Alat menonton file dan direktori untuk perubahan

Penjaga adalah layanan menonton file open source dan cross-platform yang menonton file dan merekam atau melakukan tindakan saat mereka berubah. Itu dikembangkan oleh Facebook dan berjalan di Linux, OS X, Freebsd, dan Solaris. Ini berjalan dalam model klien-server dan menggunakan utilitas inotify dari kernel Linux untuk memberikan pemberitahuan yang lebih kuat.

Konsep penjaga yang berguna

  • Itu secara rekursif menonton menonton satu atau lebih pohon direktori.
  • Setiap direktori yang ditonton disebut root.
  • Itu dapat dikonfigurasi melalui baris perintah atau file konfigurasi yang ditulis dalam format JSON.
  • Itu mencatat perubahan pada file log.
  • Mendukung langganan untuk perubahan file yang terjadi di root.
  • Memungkinkan Anda untuk menanyakan root untuk perubahan file sejak terakhir kali Anda memeriksa, atau keadaan pohon saat ini.
  • Itu bisa menonton seluruh proyek.

Di artikel ini, kami akan menjelaskan cara menginstal dan menggunakan penjaga untuk menonton (memantau) file dan merekam saat mereka berubah di Linux. Kami juga akan secara singkat menunjukkan cara menonton direktori dan memohon skrip saat berubah.

Menginstal layanan menonton file Watchman di Linux

Kami akan menginstal penjaga Layanan dari sumber, jadi pertama -tama pasang dependensi yang diperlukan ini libssl-dev, autoconf, Automake libtool, setuptools, Python-devel Dan libfolly Menggunakan perintah berikut pada distribusi Linux Anda.

----------- Di debian/ubuntu ----------- $ sudo apt instal autoconf autoconf membangun python-secuptools python-dev libssl-dev libtool ----------- Di rhel/centos ----------- # yum instal autoconf automake python-setuptools python-devel openssl-devel-devel-devel-devel libtool # yum groupinstall 'alat pengembangan' ----------- Di Fedora ----------- $ sudo dnf menginstal autoconf automake python-secuptools openssl-devel libssl-devel libtool $ sudo dnf groupinstall 'alat pengembangan' 

Setelah dependensi yang diperlukan diinstal, Anda dapat mulai membangun penjaga dengan mengunduh repositori github -nya, pindah ke repositori lokal, konfigurasikan, buat dan instal menggunakan perintah berikut.

$ git clone https: // github.com/facebook/watchman.git $ cd watchman $ git checkout v4.9.0 $ ./Autogen.sh $ ./Konfigurasikan $ Make $ sudo Make Install 

Menonton file dan direktori dengan penjaga di Linux

Penjaga dapat dikonfigurasi dalam dua cara: (1) melalui baris perintah saat daemon berjalan di latar belakang atau (2) melalui file konfigurasi yang ditulis dalam format JSON.

Untuk menonton direktori (e.G ~/bin) Untuk perubahan, jalankan perintah berikut.

$ Watchman Watch ~/bin/ 
Tonton Direktori di Linux

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

Anda dapat melihat dua file menggunakan perintah CAT sebagai tampilan.

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

Anda juga dapat mendefinisikan tindakan apa yang harus dipicu ketika direktori diawasi untuk perubahan. Misalnya dalam perintah berikut, 'Pemicu uji'adalah nama pemicu dan ~ bin/pav.SH adalah skrip yang akan dipanggil ketika perubahan terdeteksi di direktori sedang dipantau.

Untuk tujuan tes, pav.SH Script cukup membuat file dengan a cap waktu (Saya.e mengajukan.$ waktu.txt) dalam direktori yang sama di mana skrip disimpan.

waktu = 'tanggal +%y-%m-%d.%H:%m:%s 'file sentuh.$ waktu.txt 

Simpan file dan buat skrip dapat dieksekusi seperti yang ditunjukkan.

$ chmod +x ~/bin/pav.SH 

Untuk meluncurkan pemicu, jalankan perintah berikut.

$ Watchman-Trigger ~/bin 'Test-Trigger'-~/bin/pav.SH 
Buat pemicu di direktori

Saat Anda mengeksekusi penjaga Untuk mengawasi direktori, ditambahkan ke daftar jam tangan dan untuk melihatnya, jalankan perintah berikut.

$ Watchman Watch-List 
Lihat Daftar Pengawasan

Untuk melihat daftar pemicu untuk a akar, Jalankan perintah berikut (ganti ~/bin dengan akar nama).

$ Watchman Trigger-List ~/bin 
Tampilkan daftar pemicu untuk root

Berdasarkan konfigurasi di atas, setiap kali ~/bin Direktori berubah, file seperti mengajukan.2019-03-13.23:14:17.txt dibuat di dalamnya dan Anda dapat melihatnya menggunakan perintah LS.

$ ls 
Konfigurasi Test Watchman

Layanan Pengawas Menghapus Instalasi di Linux

Jika Anda ingin menghapus instalasi penjaga, Pindah ke direktori sumber dan jalankan perintah berikut:

$ sudo membuat uninstall $ cd '/usr/local/bin' && rm -f watchman $ cd '/usr/local/share/doc/watchman -4.9.0 '&& rm -f readme.penurunan harga 

Untuk informasi lebih lanjut, kunjungi Watchman Github Repository: https: // github.com/facebook/watchman.

Anda mungkin juga ingin membaca artikel terkait berikut ini.

  1. SwatchDog - Pengamat File Log Sederhana di Real -Time di Linux
  2. 4 cara untuk menonton atau memantau file log secara real time
  3. Fswatch - Memantau file dan perubahan direktori di Linux
  4. Pyintify - Monitor Perubahan Sistem File dalam Waktu Nyata di Linux
  5. Inav - Tonton log Apache secara real time di Linux

Penjaga adalah layanan menonton file open source yang menonton file dan catatan, atau memicu tindakan, saat mereka berubah. Gunakan formulir umpan balik di bawah ini untuk mengajukan pertanyaan atau membagikan pemikiran Anda kepada kami.