GNU/Linux >> Belajar Linux >  >> Linux

Cara Memantau Perubahan File Menggunakan fswatch Di Linux

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

Linux
  1. Bagaimana Mengganti Nama File di Linux?

  2. Cara membagi iso atau file menggunakan perintah 'split' di Linux

  3. Cara membuat file sparse di Linux menggunakan perintah 'dd'

  1. Cara Memantau Aktivitas Ethernet Di Linux Menggunakan Arpwatch

  2. Bagaimana cara melampirkan file menggunakan perintah mail di Linux?

  3. Bagaimana saya bisa memantau data pada port serial di Linux?

  1. Cara memindahkan file di Linux

  2. Cara Membuat File di Linux Menggunakan Terminal/Command Line

  3. Bagaimana cara menyalin file melalui FTP menggunakan Ubuntu Linux?