Pertanyaan Memantau isi folder berubah


Saya dapat memonitor perubahan konten dari sebuah file menggunakan perintah tail -f

Apakah ada cara yang sama untuk memantau perubahan struktur direktori seperti file monitor ekor -f?

Saya memiliki proses yang berjalan lama yang menambahkan file ke path tertentu di bawah direktori dan saya ingin melacak file incomings karena (atau mereka) menulis (s) ke direktori dan sub direktori.


15
2017-10-24 17:55


asal




Jawaban:


Itu inotify sistem kernel adalah yang Anda butuhkan.

  1. Memasang inotify-tools:

    sudo apt-get install inotify-tools
    
  2. Siapkan jam tangan:

    inotifywait /path/to/directory --recursive --monitor
    
  3. Duduk dan lihat hasilnya.


Dari man inotifywait:

-m, --monitor
   Instead of exiting  after  receiving  a  single  event,  execute
   indefinitely.   The default behaviour is to exit after the first
   event occurs.
-r, --recursive
   Watch all subdirectories of any directories passed as arguments.
   Watches will be set up recursively to an unlimited depth.   Sym‐
   bolic  links  are  not  traversed.  Newly created subdirectories
   will also be watched.

Anda dapat menggunakan --event pilihan untuk menonton acara tertentu, seperti kreasi, modifikasi, dll.


21
2017-10-24 18:48



memetikan seseorang memukul masalah ini: Gagal menonton.; batas atas pada jam tangan inotify mencapai pergi di sini blog.sorah.jp/2012/01/24/inotify-limitation - johan.i.zahri
Di salah satu server saya, saya menemukan itu tidak lagi disebut inotify-wait hanya saja inotifywait. Mereka pasti mengganti nama untuk menghapus tanda hubung. - Jamesking56
@ Jamesking56 Saya mengedit tanda hubung. - muru


--events bukan filter, Anda harus menggunakan --event. Misalnya, inilah baris perintah untuk memantau membuat / mengubah acara:

# inotifywait . --recursive --monitor --event CREATE --event MODIFY

Lalu saya melihat:

Setting up watches.  Beware: since -r was given, this may take a while!

Dan inilah format feed:

[path] [event] [file]

misalnya

./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal

6
2017-07-28 22:10