FSWatch - monitoruje zmiany lub modyfikacje katalogów w Linux

FSWatch - monitoruje zmiany lub modyfikacje katalogów w Linux

fswatch to międzyplatform, monitor zmiany pliku, który otrzymuje powiadomienia, gdy zawartość określonych plików lub katalogów jest zmieniana lub modyfikowana.

Wykonuje cztery rodzaje monitorów w różnych systemach operacyjnych, takich jak:

  1. Monitor wbudowany na interfejs API zdarzeń systemu plików Apple OS X.
  2. Monitor oparty na KQueue, interfejs powiadomienia obecny w FreeBSD 4.1 Obsługiwane również w wielu *systemach BSD, OS X Inclusive.
  3. Monitor oparty na API powiadomienia o zdarzeniach plików z jądra Solaris Plus jego spin-off.
  4. Monitor oparty na inotify, podsystem jądra, który pokazuje modyfikacje systemu plików w aplikacjach.
  5. Monitor oparty na ReadDirectoryChangesw, interfejs API Windows, który rejestruje, zmienia się w katalogu.
  6. Monitor, który regularnie sprawdzał ten status systemu plików, utrzymuje czasy modyfikacji plików w pamięci i ręcznie określa zmiany systemu plików (które działa w dowolnym miejscu, gdzie można użyć statystyki).

Cechy FsWatch

  1. Obsługuje kilka interfejsów API specyficznych dla OS
  2. Umożliwia monitorowanie katalogu rekurencyjnego
  3. Wykonuje filtrowanie ścieżek za pomocą i wykluczające wyrażenia regularne
  4. Obsługuje konfigurowalny format rekordów
  5. Dodatkowo obsługuje okresowe bezczynne zdarzenia

Jak zainstalować FSWatch w systemach Linux

Niestety, fswatch Pakiet nie jest dostępny do instalacji z domyślnych repozytoriów systemowych w dowolnych dystrybucjach Linux. Jedyny sposób na zainstalowanie najnowszej wersji fswatch jest budować z źródłowego tarbal, jak pokazuje w następujących instrukcjach instalacji.

Najpierw chwyć najnowszy fswatch Tarball za pomocą następujące polecenie WGET i zainstaluj je zgodnie z pokazem:

$ wget https: // github.com/emcrisostomo/fswatch/remises/pobierz/1.9.3/fswatch-1.9.3.smoła.GZ $ TAR -xVZF FSWATCH -1.9.3.smoła.gz $ cd fswatch-1.9.3 $ ./skonfiguruj $, aby $ sudo tworzy instalację 

Ważny: Upewnij się, że masz narzędzia GNU GCC (C i C ++) i narzędzia programistyczne (Zbudowanie NA Debian/Ubuntu) Zainstalowane w systemie, zanim skompilujesz FSWatch ze źródła. Jeśli nie, zainstaluj go za pomocą następującego polecenia w odpowiednich rozkładach Linux…

# Grupa Yum Instaluj „Narzędzia programistyczne” [ON Centos/Rhel] # DNF Grupa instaluj „Narzędzia programistyczne” [ON Fedora 22+ Wersje] $ sudo apt-get instal instalacja kompilacji [on Debian/Ubuntu Wersje] 

NA Debian/Ubuntu Rozkłady, możesz uzyskać następujący błąd podczas wykonywania fswatch Komenda…

fsWatch: Błąd podczas ładowania udostępnianych bibliotek: libfsWatch.Więc.6: Nie można otworzyć plik obiektu udostępnionego: nie ma takiego pliku ani katalogu 

Aby to naprawić, musisz wykonać poniższe polecenie, pomoże to odświeżyć linki i pamięć podręczną do bibliotek dynamicznych, zanim zaczniesz używać fswatch.

$ sudo ldconfig 

Jak używać fswatch w Linux?

Ogólna składnia do uruchamiania FSWatch to:

$ fsWatch [opcja] [ścieżka] 

NA Linux, Zaleca się użycie domyślnego Inotyfy Monitor, możesz wymienić dostępne monitory, wykorzystując -M Lub - Monitory listy opcja:

$ fsWatch -m $ fsWatch - -liter -monitors 
FSWATCH - Monitory listy

Poniższe polecenie umożliwia oglądanie zmian w bieżącym katalogu (/Home/Tecmint), z zdarzeniami dostarczanymi do standardowego wyjścia 4 sekundy.

-L Lub --czas oczekiwania Opcja pozwala ustawić opóźnienie w sekundach, a domyślnie 1 drugi.

$ fsWatch -l 4 . 

Następne polecenie monitoruje zmiany w /var/log/auth.dziennik plik każdy 5 sekundy:

$ fsWatch -l 5/var/log/auth.dziennik 

Za pomocą -T Lub --znak czasu Opcja drukuje znaczek czasowy dla każdego wydarzenia, aby wydrukować czas UTC format, zatrudni -u Lub --czas UTF opcja. Możesz również formatować czas za pomocą -F Lub --czas formatu Opcja formatu:

$ fsWatch - -timestamp/var/log/auth.dziennik 

Następny, -X Lub --Flagi wydarzeń mówi fswatch Aby wydrukować flagi zdarzeń obok ścieżki zdarzenia. Możesz użyć -Seperator pola zdarzenia opcja drukowania zdarzeń za pomocą konkretnego separatora.

$ fsWatch --vents-flags ~/var/log/auth.dziennik 

Aby wydrukować wartość liczbową zdarzenia, wskazując zmiany w Twoim dom katalog i /var/log/auth.dziennik Plik, użyj -N Lub --numeryczne opcja jak poniżej:

$ fsWatch --Numeric ~/var/log/auth.dziennik 

Być może możesz przejrzeć fswatch Strona Man, aby uzyskać szczegółowe opcje użycia i informacje:

$ man fswatch 

Aby uzyskać więcej informacji i użytkowania, odwiedź fswatch Repozytorium GitHub: https: // github.com/emcrisostomo/fswatch

W tym poście omówiliśmy proste narzędzie wiersza poleceń, aby pomóc użytkownikom Linux w otrzymaniu powiadomienia, gdy zawartość określonych plików lub hierarchii katalogów jest modyfikowana.

Mam nadzieję, że wszystko poszło dobrze z instalacją, jeśli tak nie. Ponadto, na wypadek, gdybyś go wcześniej korzystał, możesz przedstawić nam przemyślenia na temat swoich doświadczeń z fswatch.