Fswatch adalah utilitas monitor perubahan file multi-platform open source gratis yang memberi tahu kami ketika konten file atau direktori tertentu dimodifikasi atau diubah. Dengan menggunakan fswatch, kita dapat dengan mudah memantau perubahan yang dibuat pada file dan/atau direktori. Ini mendukung semua sistem operasi, termasuk GNU/Linux, *BSD, Mac OS X, Solaris, dan Microsoft Windows dll. Dalam panduan singkat ini, izinkan saya menunjukkan cara memantau perubahan file menggunakan fswatch di sistem operasi mirip Unix.
Jenis pemantauan
fswatch mengimplementasikan jenis monitor berikut.
- Monitor berdasarkan File System Events API dari Apple OS X.
- Monitor berbasis kqueue, antarmuka notifikasi yang diperkenalkan di FreeBSD 4.1.
- Monitor berdasarkan File Events Notification API dari kernel Solaris dan turunannya.
- Monitor berbasis inotify, subsistem kernel Linux yang melaporkan perubahan sistem file ke aplikasi.
- Monitor berdasarkan ReadDirectoryChangesW, API Microsoft Windows yang melaporkan perubahan ke direktori.
- Monitor yang secara berkala membuat statistik sistem file, menyimpan waktu modifikasi file dalam memori, dan menghitung perubahan sistem file secara manual.
Fitur
Mengenai fitur-fiturnya, kami dapat membuat daftar berikut:
- Utilitas lintas platform dan sumber terbuka.
- Dukungan untuk banyak API khusus OS.
- Pemantauan direktori rekursif.
- Pemfilteran jalur menggunakan penyertaan dan pengecualian ekspresi reguler.
- Format rekaman yang dapat disesuaikan.
- Dukungan untuk acara tidak aktif secara berkala.
- Dan banyak lagi.
Pantau Perubahan File Menggunakan fswatch Di Linux
Karena utilitas fswatch tidak tersedia di repositori default sebagian besar distribusi Linux, Anda perlu mengompilasi dan menginstal versi terbaru secara manual dari sumber seperti yang dijelaskan di bawah ini.
Sebelum kompilasi, Anda perlu menginstal alat Pengembangan di distribusi Linux Anda. Untuk menginstal alat Pengembangan di berbagai distribusi Linux, lihat panduan berikut.
- Cara Memasang Alat Pengembangan Di Linux
Kemudian, unduh file sumber fswatch dari sini .
$ wget https://github.com/emcrisostomo/fswatch/releases/download/1.9.3/fswatch-1.9.3.tar.gz
Ekstrak tarball yang diunduh:
$ tar -zxvf fswatch-1.9.3.tar.gz
Buka folder proyek:
$ cd fswatch-1.9.3/
Terakhir, kompilasi dan instal fswatch dengan menjalankan perintah berikut satu per satu.
$ ./configure
$ make
$ sudo make install
Terakhir, jalankan perintah berikut untuk menyegarkan tautan dan cache ke pustaka dinamis:
$ sudo ldconfig
Jika Anda tidak menjalankan perintah di atas, Anda mungkin mendapatkan kesalahan berikut di sistem GNU/Linux.
fswatch: error while loading shared libraries: libfswatch.so.6: cannot open shared object file: No such file or directory
penggunaan fswatch
Penggunaan fswatch bukanlah masalah besar. Sintaks khas fswatch adalah:
$ fswatch [options] ... path-0 ... path-n
Untuk menguji cara kerja fswatch, buka dua jendela Terminal (Mari kita menyebutnya Terminal 1 dan Terminal 2 ).
Di Terminal 1, jalankan perintah fswatch untuk memantau direktori $HOME.
$ fswatch /home/sk/
Dan, di Terminal 2 lakukan beberapa operasi seperti membuat file/folder, menghapus file, memodifikasi file dll.
Apa pun yang Anda lakukan di terminal 2 akan diberitahukan di Terminal 1. Lihat screenshot berikut.
Terminal 1 - Perintah fswatch sedang berjalan dan perubahan file sedang dipantau:
Pantau Perubahan File Menggunakan fswatch
Terminal 2 - Lakukan beberapa perubahan acak pada file/folder:
Secara default, fswatch akan memilih monitor terbaik yang tersedia di platform saat ini, dalam hal kinerja dan konsumsi sumber daya. Di Linux, monitor default adalah notify .
Untuk membuat daftar monitor yang tersedia di platform saat ini (yaitu Linux dalam kasus kami), jalankan:
$ fswatch -M
Atau,
$ fswatch --list-monitors
Contoh keluaran:
inotify_monitor poll_monitor
Untuk memantau file atau direktori tertentu dengan opsi monitor tertentu, jalankan:
$ swatch -m kqueue_monitor /home/sk/
Secara default, fswatch akan terus memantau perubahan file sampai Anda menghentikannya secara manual dengan menjalankan CTRL+C kunci.
Anda juga dapat keluar dari fswatch setelah rangkaian acara pertama diterima dengan menentukan opsi -1 seperti yang ditunjukkan pada perintah berikut:
$ fswatch -1 /home/sk/
Perintah ini akan keluar tepat setelah rangkaian acara pertama diterima.
fswatch akan memantau perubahan di semua file/folder di jalur yang ditentukan. Jika Anda ingin melihat perubahan yang dibuat di direktori saja, gunakan -d pilihan.
$ fswatch -d /home/sk/
Tentu saja, ada lebih banyak pilihan. Lihat halaman manual atau halaman dokumentasi proyek untuk petunjuk terperinci.
$ man fswatch