Jest to polecenie iwatch, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych internetowych stacji roboczych, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
iWatch - program do monitorowania systemu plików w czasie rzeczywistym za pomocą inotify
STRESZCZENIE
iWatch [-d] [-f ] [-v] [-p ]
iWatch [-c komenda] [-C charset] [-e wydarzenie[,zdarzenie[,..]]] [-h|--help] [-m ]
[-r] [-s ] [-t ] [-v] [--wersja] [-x wyjątek]
[-X <wyrażenie regularne ciąg as wyjątek>]
OPIS
inotify (powiadomienie i-węzła) to podsystem jądra Linuksa, który monitoruje zdarzenia w systemach plików i
zgłasza te zdarzenia do aplikacji w czasie rzeczywistym.
inotify może być używany do monitorowania pojedynczych plików lub katalogów. Kiedy katalog jest
monitorowane, inotify zwróci zdarzenia dla samego katalogu i dla plików w nim zawartych
informator. Obsługa inotify została dodana do jądra Linux 2.6.13.
iWatch to nakładka Perla do powiadamiania o zmianach w określonych katalogach lub plikach,
wysyłanie alarmu do administratora systemu w czasie rzeczywistym. To może:
· Wysyłaj powiadomienia e-mailem o zmianach.
· Natychmiastowe wykonywanie programowalnych działań, as emitować alerty za pośrednictwem wiadomości XMPP,
WhatsApp lub uruchom lokalny program lub skrypt.
· Działać as HIDS (Host-based Intrusion Detection System) lub sprawdzanie integralności,
uzupełnienie lokalnych systemów firewall.
iWatch może działać as demon, as cóż proste komenda. Tryb demona używa XML
plik konfiguracyjny i umieść listę katalogów i plików (celów) do monitorowania. ten
komenda tryb liniowy będzie działał bez pliku konfiguracyjnego. Musisz tylko umieścić
niezbędne informacje (cel do obejrzenia, e-mail, wyjątek, rekursywność, zdarzenia do monitorowania
i komenda do wykonania) w komenda linia. Opcji dla obu trybów nie można mieszać
razem.
W pliku konfiguracyjnym XML każdy cel może mieć swój własny e-mailowy punkt kontaktowy. Ten
punkt kontaktowy otrzyma powiadomienie e-mail o wszelkich zmianach w monitorowanych celach. Ty
możesz rekurencyjnie monitorować katalog, a także możesz ustawić listę wyjątków, w których
nie chcesz monitorować katalogu/pliku w monitorowanym katalogu. Możliwe jest również
wyłącz powiadomienia e-mail, a zamiast tego skonfiguruj a komenda do wykonania w przypadku wystąpienia zdarzenia.
Domyślnie iWatch monitoruje tylko następujące zdarzenia: close_write, create, delete, move,
usuń_siebie i przenieś_siebie. Ale możesz określić dowolne możliwe zdarzenia, takie jak dostęp, atrybut,
modyfikować lub all_events. Więcej informacji znajdziesz w dziale WYDARZENIA.
OPCJE
Użycie w trybie demona (w tle) iWatch:
-d Uruchom aplikację as demon. iWatch będzie działał na pierwszym planie bez tego
opcja.
-f
Określ alternatywny plik konfiguracyjny. Wartość domyślna to /itp/iWatch/oglądaj.xml.
-p
Określ alternatywny plik pid. Domyślnie: /var/run/iwatch.pid.
-v Bądź gadatliwy.
Zastosowanie do komenda tryb liniowy (na pierwszym planie) iWatch:
-c <komenda>
Możesz określić komenda do wykonania w przypadku wystąpienia zdarzenia. Dla szczegółów
o dostępnych ciągach zajrzyj do sekcji STRINGS FOR COMMAND.
-C <charset>
Określ charset (domyślnie utf-8).
-e
Określ listę wydarzeń, które chcesz obejrzeć. Aby uzyskać szczegółowe informacje na temat możliwych
wydarzenia, zajrzyj do działu WYDARZENIA.
-H, --help
Wydrukuj wiadomość pomocy.
-m
Adres e-mail punktu kontaktowego. Bez tej opcji iWatch nie wyśle żadnych
Powiadomienie e-mail.
-r Rekursywność podczas oglądania katalogu.
-s wł.|wył.
Włącz lub wyłącz raporty do dziennika systemowego (domyślnie wyłączone/wyłączone).
-t
Określ filtr ciąg (regex) do porównania z nazwą pliku lub katalogiem
Nazwa. Zgłosi zdarzenia tylko wtedy, gdy nazwa pliku/katalogu pasuje do
filtrować ciąg. Jest to przydatne, jeśli chcesz obejrzeć plik, taki jak / Etc / passwd or
/etc/cień. Zamiast oglądać ten pojedynczy plik, po prostu obejrzyj / Etc
katalog z filter="passwd|shadow", ponieważ jeśli oglądasz tylko
passwd/shadow plik, obserwator zostanie usunięty po jednej zmianie tego
plik i nie otrzymasz kolejnego powiadomienia. Jest to spowodowane przez
aplikacja zmieniająca passwd lub shadow (np. passwd lub chfn), nie
zmień pliki bezpośrednio, ale utwórz nowy plik i przenieś go do passwd lub
plik cienia. Więc to komenda usunie i-węzeł, a zatem
obserwator.
-v Tryb szczegółowy. Ta opcja pokaże główne bieżące działanie.
--wersja
Wydrukuj numer wersji.
-x <wyjątek filet or katalog>
Określ plik lub katalog, który nie powinien być obserwowany.
-X <wyrażenie regularne ciąg as wyjątek>
Podobny do -x ale określając wyrażenie regularne ciąg as wyjątek.
SMYCZKI DLA COMMAND
Podczas korzystania z „-c <komenda>', te ciągi będą dostępne:
%c Numer pliku cookie zdarzenia.
%e Nazwa wydarzenia.
%f Pełna ścieżka nazwy pliku, który pobiera zdarzenie.
%F Stara nazwa pliku w przypadku zdarzenia move_to.
%p Nazwa programu (iWatch).
%v Numer wersji.
WYDARZENIA
Poniżej przedstawiono możliwe zdarzenia, których można użyć z „-e' opcja:
dostęp uzyskano dostęp do pliku.
attrib zmieniono atrybuty pliku.
zamknięte plik zamknięty, niezależnie od trybu odczytu/zapisu.
zamknij_nowrite
plik zamknięty, po otwarciu w trybie tylko do odczytu.
zamknij_pisz
plik zamknięty, po otwarciu w trybie do zapisu.
Stwórz plik został utworzony w obserwowanym katalogu.
usunąć plik został usunięty w obserwowanym katalogu.
usuń_siebie
obserwowany plik został usunięty.
ignorowane
plik został zignorowany.
isdir zdarzenie miało miejsce przeciwko reż.
modyfikować plik został zmodyfikowany.
ruch plik/katalog w obserwowanym katalogu został przeniesiony.
wzięte z, przesunięte z
plik został przeniesiony z.
przeniesniony do
plik został przeniesiony do.
jeden strzał
wyślij wydarzenie tylko raz.
koncepcja plik został otwarty.
q_przepełnienie
przepełnienie kolejki zdarzeń.
odmontować
system plików, w którym istnieje obserwowany plik, został odmontowany.
domyślnym
close_write, utwórz, usuń, przenieś, usuń_siebie i przenieś_siebie.
wszystkie zdarzenia
wszystkie zdarzenia.
COMMAND LINE ZASTOSOWANIE PRZYKŁADY
$ iWatch / Tmp
Monitoruj zmiany w / Tmp katalog z domyślnymi zdarzeniami.
$ iWatch -r -e dostęp, tworzenie -m [email chroniony] -x /etc/poczta / Etc
Monitoruj tylko dostęp i twórz wydarzenia w / Etc katalog, rekurencyjnie, z
/etc/poczta as wyjąteki wyślij powiadomienie e-mail do [email chroniony].
$ iWatch -r -c (w;ps -ef)|poczta -s '%F była zmienił się root @ localhost /kosz
Monitorowanie /kosz katalogu, rekursywnie i wykonaj polecenia 'w' i 'ps -jeśli',
wysyłając wyniki do root@localhost, używając ' został zmieniony' as
Przedmiot. Aby dowiedzieć się więcej o '%f', zajrzyj do sekcji STRINGS FOR COMMAND.
$ iWatch -r -X „.svn” ~/projekty
Monitorowanie ~/projekty katalog, rekursywnie, ale wyklucz wszystkie znajdujące się w nim katalogi .svn.
Nie można tego zrobić za pomocą zwykłego „-x' opcja od '-x„może wykluczyć tylko”
zdefiniowana ścieżka.
KONFIGURACJA FILE PRZYKŁAD
Domyślny plik konfiguracyjny to /itp/iWatch/oglądaj.xml. Zobacz przykład:
<e-mail ochronny="[email chroniony]" name="iWatch"/>
Monitorowanie integralności serwera WWW
<e-mail punktu kontaktowego="[email chroniony]" name="Administrator"/>
<path type="recursive" syslog="on" alert="off" exec="echo %p: %e %f | /usr/bin/sendxmpp -t [email chroniony]">/ Var / www
/var/www/licznik
Dwie pierwsze linijki określą wersję XML i plik definiujący użyty wzorzec
przez iWatch (domyślnie /itp/iWatch/oglądam.dtd). Te linie nie muszą być zmieniane.
ten Instrukcja służy do oznaczenia punktu początkowego konfiguracji. Ostatnia linia
konfiguracja musi być . Wiersz „e-mail ochronny” służy do określenia nadawcy
e-mail i imię, które będą używane podczas wysyłania powiadomień pocztą elektroniczną. Innymi słowy, ta linia
definiuje pole e-mail „Od:”. ten ogranicza blok
definicje dotyczące zegarka lub niektórych procedur zegarków.
ten miejsce może mieć kilka Bloki. Wewnątrz tych
Bloki ( ), ten spacja służy do dodania tytułu, który
zidentyfikuje cel bloku. Wiersz „punkt kontaktowy” zawiera miejsce docelowe
adres e-mail (Do:) i imię i nazwisko podczas wysyłania powiadomień pocztą elektroniczną.
Każdy line może monitorować plik/katalog i wykonywać akcje. Pierwsza ścieżka
Pokazana linia będzie monitorować rekurencyjnie katalog /var/www. Ponieważ nie zdefiniowano żadnych wydarzeń,
iWatch zastosuje domyślne zdarzenie (close_write, create, delete, move, delete_self i
zdarzenia move_self). Jeśli wystąpi zdarzenie, syslog zarejestruje je i wyświetli komunikat raportujący
nazwa programu (%p = iWatch), zdarzenie (%e) i nazwa monitorowanego pliku/katalogu (%f)
zostanie wysłany przez protokół XMPP (zewnętrzny program sendxmpp) do [email chroniony], Należy pamiętać, że
alert="off" wyłączy wysyłanie wiadomości e-mail. Innym ważnym punktem jest to, że druga linia
wyklucza z obserwacji plik/katalog /var/www/counter.
Pokazany przykład używa sendxmpp komenda. Inną dobrą możliwością jest zastosowanie
yowsup-cli komenda do wysyłania wiadomości WhatsApp.
Nowy przykład. Z konfiguracją pokazaną poniżej, iWatch będzie działał ponad trzy
Bloki.
Strona publiczna
<e-mail punktu kontaktowego="[email chroniony]" name="WebMaster"/>
/var/www/localhost/htdocs
/var/www/localhost/htdocs/Informacje
/var/www/localhost/htdocs/Zdjęcia
System operacyjny
/ etc / apache2
/ Etc / passwd
/etc/poczta
/etc/poczta/statystyki
/ Etc
Tylko test
/tmp/katalog1
/tmp/dir2
/tmp/katalog3
/tmp/dir4
Pierwszy blok monitoruje katalogi i ma specjalne akcje dla dwóch plików
ale nie wykonaj a komenda w żadnym z nich. Pierwsza ścieżka jest pojedyncza (nierekurencyjna)
katalog /var/www/localhost/htdocs i każde powiadomienie zostanie wysłane do punktu kontaktowego
[email chroniony]. Zwróć uwagę, że nie określono żadnych wydarzeń. Tak więc domyślny (close_write,
create, delete, move, delete_self i move_self). Druga ścieżka to plik
/var/www/localhost/htdocs/Informacje. Ten plik znajduje się w ostatnim katalogu. Różnica
jest to, że wszystkie działania na tym pliku będą rejestrowane w /var/log/syslog. Trzecia ścieżka
będzie monitorować rekursywnie katalog /var/www/localhost/htdocs/Photos (również wewnątrz
pierwszy katalog). Brak dziennika. Zdarzenia domyślne zostaną powiadomione pocztą.
Drugi blok ma pięć monitoringów. Wszystkie powiadomienia zostaną wysłane na adres admin@localhost.
Główną nowością w stosunku do pierwszego bloku jest to, że ścieżka używa instrukcji „filtru” do oglądania
/ etc / shadow i / Etc / passwd w tym samym czasie. Aby lepiej zrozumieć tę sytuację, zobacz
'-t' w sekcji OPCJE.
Ostatni blok monitoruje domyślne zdarzenie w pierwszej linii i kilka niestandardowych zdarzeń w
następujące trzy wiersze. We wszystkich wierszach zdefiniowano „ostrzeżenie” as 'wyłączony'. Więc iWatch będzie
nie wysyłaj e-maili za pomocą wbudowanego silnika pocztowego. Jednak w trzech wierszach zewnętrzne
komenda „poczta” służyła do wysyłania spersonalizowanych e-maili.
UCZENIE SIĘ JAK TO SIĘ ZACZĘŁO WYDARZENIA
Wskazówka, aby dowiedzieć się o wydarzeniach, to obejrzyj iWatch komenda wykonywanie z '-e wszystkie zdarzenia'
opcja. Poniższy przykład monitoruje 'ls / Tmp' komenda.
$ iwatch -e all_events / Tmp
[17/Jun/2014 11:22:59] IN_ISDIR,IN_OPEN / Tmp
[17/Jun/2014 11:22:59] IN_ISDIR,IN_CLOSE_NOWRITE / Tmp
Kolejny przykład, który monitoruje tworzenie pliku w środku / Tmp:
$ iwatch -e all_events / Tmp
[17/Jun/2014 11:29:43] IN_MODIFY /tmp/plik.txt
[17 2014:11:29] IN_OPEN /tmp/plik.txt
[17/Jun/2014 11:29:43] IN_MODIFY /tmp/plik.txt
[17/J/2014 11:29:43] IN_CLOSE_WRITE /tmp/plik.txt
[17/Jun/2014 11:29:43] * /tmp/file.txt jest zamknięty
Czyli w ostatnim przykładzie wystąpiły akcje modyfikacji, otwierania i zamykania_write.
ZASADY NORMA
Od wersji 0.2.0 iWatch sprawdza poprawność pliku XML, jeśli ma następujący wpis w
pierwsze dwie linie:
Kontrola zostanie wykonana według wzoru opisanego przez /itp/iWatch/oglądaj.dtd plik. Z pominięciem
pokazane dwie linie, iWatch wyświetli ostrzeżenie, że musisz użyć pliku DTD, i
to nadal działa as normalne bez walidacji XML. Format XML iWatch jest bardzo
prosty i łatwy do zrozumienia i wykorzystuje następujące DTD:
Konfiguracja <!ATTLIST
zestaw znaków CDATA "utf-8"
>
Strażnik <!ATTLIST
e-mail CDATA #WYMAGANE
nazwa CDATA #IMPLIED
>
Punkt kontaktowy <!ATTLIST
e-mail CDATA #WYMAGANE
nazwa CDATA #IMPLIED
>
Ścieżka <!ATTLIST
wpisz CDATA #WYMAGANE
alert (wł.|wył.) „wył.”
wydarzenia CDATA #IMPLIED
exec CDATA #IMPLIED
filtr CDATA #IMPLIED
syslog (wł.|wył.) „wył.”
Korzystaj z iwatch online za pomocą usług onworks.net