Klasör içeriği değişikliklerini izleme


18

Tail -f komutunu kullanarak bir dosyanın içerik değişikliklerini izleyebilirim

Bir dizin yapısındaki değişiklikleri tail -f dosyasının izlediği şekilde izlemenin benzer bir yolu var mı?

Bir dizin altında belirli bir yola dosya ekler uzun bir çalışan işlem var ve ben (veya onlar) dizinler ve alt dizinlere yazma (lar) dosya gelenleri izlemek istiyorum.

Yanıtlar:


27

inotifyÇekirdek sistemi ne ihtiyaç vardır.

  1. Kurulum inotify-tools:

    sudo apt-get install inotify-tools
    
  2. Bir saat ayarlayın:

    inotifywait /path/to/directory --recursive --monitor
    
  3. Arkanıza yaslanın ve çıkışı izleyin.


Gönderen 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.

--eventOluşturma, değiştirme vb. Gibi belirli olayları izlemek için seçeneği kullanabilirsiniz .


1
herhangi biri bu sorunu vurmak durumunda: İzlenemedi. Inotify saatlerde üst sınır buraya gitmek ulaştı blog.sorah.jp/2012/01/24/inotify-limitation
johan.i.zahri

1
Sunucularımdan birinde artık inotify-waitonun sadece denir keşfetti inotifywait. Kısa çizgiyi kaldırmak için adı değiştirmiş olmaları gerekir.
Jamesking56

@ Jamesking56 Kısa çizgiyi düzenledim.
muru

Not, inotifywait yardımının dosya yollarından önceki seçenekleri beklediğini söylüyor.
Felix Dombek

8

--eventsfiltre değil, kullanmak zorundasın --event. Örneğin, oluşturma / değiştirme olaylarını izlemek için komut satırı aşağıdadır:

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

Sonra görüyorum:

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

Ve işte feed'in biçimi:

[path] [event] [file]

Örneğin

./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.