Fswatch - Memantau file dan perubahan direktori atau modifikasi di Linux

Fswatch - Memantau file dan perubahan direktori atau modifikasi di Linux

fswatch adalah cross-platform, monitor perubahan file yang mendapat peringatan pemberitahuan saat konten file atau direktori yang ditentukan diubah atau dimodifikasi.

Ini mengeksekusi empat jenis monitor pada sistem operasi yang berbeda seperti:

  1. Monitor Build on File System Events API Apple OS X.
  2. Monitor berdasarkan kqueue, Antarmuka pemberitahuan yang ada di Freebsd 4.1 juga didukung pada banyak sistem *BSD, OS X inklusif.
  3. Monitor berdasarkan API pemberitahuan peristiwa file dari kernel solaris plus spin-off-nya.
  4. Monitor yang didasarkan pada Inotify, subsistem kernel yang menunjukkan modifikasi sistem file ke aplikasi.
  5. Monitor Berdasarkan ReaddirectoryChangesw, API Windows yang merekam ke direktori.
  6. Monitor yang secara teratur memeriksa status sistem file itu, menjaga waktu modifikasi file dalam memori, dan secara manual menentukan perubahan sistem file (yang berfungsi di mana saja, di mana stat dapat digunakan).

Fitur Fswatch

  1. Mendukung beberapa API khusus OS
  2. Memungkinkan pemantauan direktori rekursif
  3. Melakukan penyaringan jalur menggunakan termasuk dan tidak termasuk ekspresi reguler
  4. Mendukung format catatan yang dapat disesuaikan
  5. Selain itu, ini mendukung acara idle berkala

Cara menginstal fswatch di sistem linux

Sayangnya, fswatch Paket tidak tersedia untuk diinstal dari repositori sistem default di setiap distribusi Linux. Satu -satunya cara untuk menginstal versi terbaru fswatch adalah membangun dari sumber tarball sebagai pertunjukan dalam instruksi instalasi berikut.

Pertama ambil yang terbaru fswatch Tarball menggunakan perintah wget berikut dan instal seperti yang ditunjukkan:

$ wget https: // github.com/emcrisostomo/fswatch/rilis/unduh/1.9.3/fswatch-1.9.3.ter.GZ $ TAR -XVZF FSWATCH -1.9.3.ter.GZ $ CD Fswatch-1.9.3 $ ./Konfigurasikan $ Make $ sudo Make Install 

Penting: Pastikan Anda GNU GCC (C dan C ++ Compiler) dan alat pengembangan (build-esensial pada Debian/Ubuntu) diinstal pada sistem, sebelum Anda mengkompilasi fswatch dari sumber. Jika tidak, instal menggunakan perintah berikut pada distribusi Linux Anda masing -masing…

# yum grup menginstal 'alat pengembangan' [on Centos/rhel] # grup DNF menginstal 'alat pengembangan' [on Fedora 22+ Versi] $ sudo apt-get install build-esential [on Debian/Ubuntu Versi] 

Pada Debian/Ubuntu distribusi, Anda mungkin mendapatkan kesalahan berikut saat mengeksekusi fswatch memerintah…

Fswatch: Kesalahan saat memuat perpustakaan bersama: libfswatch.Jadi.6: Tidak dapat membuka file objek bersama: tidak ada file atau direktori tersebut 

Untuk memperbaikinya, Anda perlu menjalankan perintah di bawah ini, ini akan membantu menyegarkan tautan dan cache ke perpustakaan dinamis sebelum Anda dapat mulai menggunakan FSWATCH.

$ sudo ldconfig 

Bagaimana cara menggunakan fswatch di linux?

Sintaks umum untuk menjalankan fswatch adalah:

$ fswatch [opsi] [Path] 

Pada Linux, disarankan agar Anda menggunakan default inotify Monitor, Anda dapat mendaftarkan monitor yang tersedia dengan menggunakan -M atau - daftar monitor pilihan:

$ fswatch -m $ fswatch --ist -monitor 
fswatch - daftar monitor

Perintah di bawah ini memungkinkan Anda untuk menonton perubahan dalam direktori saat ini (/home/tecmint), dengan acara yang dikirim ke output standar setiap 4 detik.

Itu -l atau --latensi Opsi memungkinkan Anda untuk mengatur latensi dalam detik, makhluk default 1 Kedua.

$ fswatch -l 4 . 

Perintah berikutnya monitor berubah ke /var/log/auth.catatan mengajukan setiap 5 detik:

$ fswatch -l 5/var/log/auth.catatan 

Menggunakan -T atau --cap waktu Opsi mencetak cap waktu untuk setiap acara, untuk mencetak waktu masuk UTC format, bekerja -u atau --UTF-Time pilihan. Anda juga dapat memformat waktu menggunakan -F atau --waktu format Opsi Format:

$ fswatch - -timestamp/var/log/auth.catatan 

Berikutnya, -X atau --Bendera acara memberi tahu fswatch untuk mencetak bendera acara di samping jalur acara. Anda dapat gunakan -Acara-Bidang-Lingkungan opsi untuk mencetak acara menggunakan pemisah tertentu.

$ fswatch --events-flags ~/var/log/auth.catatan 

Untuk mencetak nilai numerik suatu peristiwa yang menunjukkan perubahan dalam Anda rumah direktori dan /var/log/auth.catatan file, gunakan -N atau --numerik Opsi seperti di bawah ini:

$ fswatch --numeric ~/var/log/auth.catatan 

Mungkin Anda bisa melihat melalui fswatch Halaman pria untuk opsi dan informasi penggunaan terperinci:

$ man fswatch 

Untuk informasi dan penggunaan lebih lanjut, kunjungi fswatch Repositori GitHub: https: // github.com/emcrisostomo/fswatch

Dalam posting ini, kami membahas utilitas baris perintah sederhana untuk membantu pengguna Linux mendapat pemberitahuan ketika isi file atau hierarki direktori yang ditentukan dimodifikasi.

Saya harap semua berjalan dengan baik dengan instalasi, jika bukan itu masalahnya, berupaya menghubungi kami melalui formulir umpan balik di bawah ini. Selain itu, jika Anda telah menggunakannya sebelumnya, Anda mungkin ingin menawarkan kami beberapa pemikiran tentang pengalaman Anda fswatch.