EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

iwatch – Online in der Cloud

Führen Sie iwatch beim kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl iwatch, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


iwatch - Echtzeit-Dateisystemüberwachungsprogramm mit Inotify

ZUSAMMENFASSUNG


iwatch [-d] [-f ] [-v] [-p ]
iwatch [-c Befehl] [-C charset] [-e Ereignis[,Ereignis[,..]]] [-h|--help] [-m ]
[-r] [-s ] [-t ] [-v] [--Version] [-x Ausnahme]
[-X <regex Schnur as Ausnahme>]

BESCHREIBUNG


inotify (inode notify) ist ein Linux-Kernel-Subsystem, das Ereignisse in Dateisystemen überwacht und
meldet diese Ereignisse in Echtzeit an Anwendungen.

Mit inotify können einzelne Dateien oder Verzeichnisse überwacht werden. Wenn ein Verzeichnis ist
überwacht, gibt inotify Ereignisse für das Verzeichnis selbst und für die darin enthaltenen Dateien zurück
Verzeichnis. Die inotify-Unterstützung wurde zum Linux-Kernel 2.6.13 hinzugefügt.

iWatch ist ein Perl-Wrap zur Überwachung von Änderungen in bestimmten Verzeichnissen oder Dateien.
Senden eines Alarms an den Systemadministrator in Echtzeit. Es kann:

· Senden Sie Benachrichtigungen per E-Mail über Änderungen.

· Ergreifen Sie sofort programmierbare Maßnahmen, as Benachrichtigungen über XMPP-Nachrichten ausgeben,
WhatsApp oder führen Sie ein lokales Programm oder Skript aus.

· Gesetz as HIDS (Host-based Intrusion Detection System) oder ein Integritätsprüfer,
Ergänzung der lokalen Firewall-Systeme.

iWatch kann ausgeführt werden as Daemon, as Na ja, einfach Befehl. Der Daemon-Modus verwendet XML
Konfigurationsdatei und erstellen Sie eine Liste der zu überwachenden Verzeichnisse und Dateien (Ziele). Der
Befehl Der Zeilenmodus wird ohne Konfigurationsdatei ausgeführt. Sie müssen nur das setzen
notwendige Informationen (zu beobachtendes Ziel, E-Mail, Ausnahme, Rekursivität, zu überwachende Ereignisse
und Befehl ausführen) in der Befehl Linie. Die Optionen für beide Modi können nicht gemischt werden
perfekter Harmonie.

In der XML-Konfigurationsdatei kann jedes Ziel einen eigenen E-Mail-Kontaktpunkt haben. Das
Der Kontaktpunkt erhält eine E-Mail-Benachrichtigung über alle Änderungen an den überwachten Zielen. Du
Sie können ein Verzeichnis rekursiv überwachen, und Sie können auch eine Liste von Ausnahmen einrichten, wo Sie
Sie möchten kein Verzeichnis/eine Datei innerhalb eines überwachten Verzeichnisses überwachen. Es ist auch möglich
Deaktivieren Sie die E-Mail-Benachrichtigung und richten Sie stattdessen eine ein Befehl ausgeführt werden, wenn ein Ereignis eintritt.
Standardmäßig überwacht iWatch nur die folgenden Ereignisse: close_write, create, delete, move,
delete_self und move_self. Sie können jedoch alle möglichen Ereignisse wie Zugriff, Attribut usw. angeben.
ändern oder all_events. Weitere Einzelheiten finden Sie im Abschnitt VERANSTALTUNGEN.

OPTIONAL


Verwendung für den Daemon-Modus (Hintergrund) von iWatch:

-d Führen Sie die Anwendung aus as Daemon. Ohne dies läuft iWatch im Vordergrund
.

-f
Geben Sie eine alternative Konfigurationsdatei an. Standard ist / Etc /iwatch/iwatch.xml.

-p
Geben Sie eine alternative PID-Datei an. Standard: /var/run/iwatch.pid.

-v Seien Sie ausführlich.

Verwendung für Befehl Zeilenmodus (Vordergrund) von iWatch:

-c <Befehl>
Sie können a angeben Befehl ausgeführt werden, wenn ein Ereignis eintritt. Für Details
Informationen zu den verfügbaren Zeichenfolgen finden Sie im Abschnitt STRINGS FOR COMMAND.

-C <charset>
Präzisiere das charset (Standard ist utf-8).

-e
Geben Sie eine Liste der Ereignisse an, die Sie ansehen möchten. Einzelheiten zu möglichen
Veranstaltungen finden Sie im Bereich VERANSTALTUNGEN.

-H, --help
Hilfetext drucken.

-m
E-Mail-Adresse der Kontaktstelle. Ohne diese Option sendet iWatch keine
Email Benachrichtigung.

-r Rekursivität beim Ansehen eines Verzeichnisses.

-s ein|aus
Aktivieren oder deaktivieren Sie Berichte an das Syslog (Standard ist aus/deaktiviert).

-t
Geben Sie einen Filter an Schnur (regex) zum Vergleich mit dem Dateinamen oder Verzeichnis
Name. Es werden Ereignisse nur gemeldet, wenn der Datei-/Verzeichnisname mit dem übereinstimmt
Filter Schnur. Dies ist nützlich, wenn Sie eine Datei ansehen möchten / etc / passwd or
/etc/shadow. Anstatt diese einzelne Datei anzusehen, schauen Sie sich einfach die an / Etc
Verzeichnis mit filter="passwd|shadow", denn wenn Sie nur das ansehen
passwd/shadow-Datei, der Watcher wird nach einer Änderung dieser Datei gelöscht
Datei und Sie erhalten keine weitere Benachrichtigung. Dies wird durch die verursacht
Anwendungen, die das Passwort oder den Schatten ändern (z. B. passwd oder chfn), tun dies nicht
Ändern Sie die Dateien direkt, erstellen Sie jedoch eine neue Datei und verschieben Sie sie nach passwd oder
Schattendatei. Also das Befehl wird den Inode und damit den entfernen
Beobachter.

-v Ausführlicher Modus. Diese Option zeigt die aktuelle Hauptaktion an.

--Version
Drucken Sie die Versionsnummer.

-x <Ausnahme Datei or Verzeichnis>
Geben Sie die Datei oder das Verzeichnis an, die nicht überwacht werden soll.

-X <regex Schnur as Ausnahme>
Ähnlich -x aber Angabe eines regulären Ausdrucks Schnur as Ausnahme.

ZEICHEN FÜR COMMAND


Bei Verwendung des '-c <Befehl>'-Option sind diese Zeichenfolgen verfügbar:

%c Ereignis-Cookie-Nummer.

%e Veranstaltungsname.

%f Vollständiger Pfad des Dateinamens, der ein Ereignis erhält.

%F Der alte Dateiname für den Fall „moved_to“-Ereignis.

%p Programmname (iWatch).

%v Versionsnummer.

Events


Im Folgenden sind die möglichen Ereignisse aufgeführt, die Sie mit dem '-e' Möglichkeit:

Zugang Auf die Datei wurde zugegriffen.

attrib Dateiattribute geändert.

schließen Datei geschlossen, unabhängig vom Lese-/Schreibmodus.

close_nowrite
Datei geschlossen, nachdem sie im schreibgeschützten Modus geöffnet wurde.

close_write
Datei geschlossen, nachdem sie im beschreibbaren Modus geöffnet wurde.

erstellen Im überwachten Verzeichnis wurde eine Datei erstellt.

löschen Eine Datei wurde im überwachten Verzeichnis gelöscht.

delete_self
Die beobachtete Datei wurde gelöscht.

ignoriert
Datei wurde ignoriert.

isdir Ereignis gegen Dir aufgetreten.

ändern Datei wurde geändert.

schlauer bewegen Eine Datei/ein Verzeichnis innerhalb des überwachten Verzeichnisses wurde verschoben.

zugezogen von
Die Datei wurde entfernt.

umgezogen nach
Datei wurde verschoben.

oneshot
Ereignis nur einmal senden.

XNUMXh geöffnet Datei wurde geöffnet.

q_overflow
Die Ereigniswarteschlange ist übergelaufen.

unmounten
Das Dateisystem, auf dem die überwachte Datei vorhanden ist, wurde ausgehängt.

Standard
close_write, create, delete, move, delete_self und move_self.

alle Veranstaltungen
alle Veranstaltungen.

COMMAND LINE ANWENDUNG Beispiele:


$ iwatch / Tmp
Überwachen Sie Änderungen in / Tmp Verzeichnis mit Standardereignissen.

$ iwatch -r -e zugreifen, erstellen -m [E-Mail geschützt] -x /etc/mail / Etc
Überwachen Sie nur den Zugriff und erstellen Sie Ereignisse in / Etc Verzeichnis, rekursiv, mit
/etc/mail as Ausnahme, und senden Sie eine E-Mail-Benachrichtigung an [E-Mail geschützt] .

$ iwatch -r -c (w;ps -ef)|mail -s '%F wurde geändert' root @ localhost /Behälter
Überwachen /Behälter Verzeichnis rekursiv und führen Sie die Befehle „w“ und „ps“ aus -wenn',
Senden der Ergebnisse an root@localhost mit ' wurde verändert' as
Thema. Um mehr über „%f“ zu erfahren, schauen Sie sich den Abschnitt STRINGS FOR COMMAND an.

$ iwatch -r -X '.svn' ~/Projekte
Überwachen ~/Projekte Verzeichnis, rekursiv, aber alle darin enthaltenen .svn-Verzeichnisse ausschließen.
Dies ist mit einem normalen ' nicht möglich.-x' Option seit '-x' kann das nur ausschließen
definierter Pfad.

CONFIGURATION FILE BEISPIEL


Die Standardkonfigurationsdatei ist / Etc /iwatch/iwatch.xml. Sehen Sie sich ein Beispiel an:





<guard email="[E-Mail geschützt] " name="iWatch"/>

Überwachung der WEB-Server-Integrität
<Kontaktpunkt-E-Mail="[E-Mail geschützt] " name="Administrator"/>
<path type="recursive" syslog="on" warning="off" exec="echo %p: %e %f | /usr/bin/sendxmpp -t [E-Mail geschützt] ">/ Var / www
/var/www/counter



Die beiden ersten Zeilen definieren die XML-Version und die Datei, die das verwendete Muster definiert
von iWatch (die Standardeinstellung ist / Etc /iwatch/iwatch.dtd). Diese Zeilen müssen nicht geändert werden.

Der Die Anweisung wird verwendet, um den Konfigurationsstartpunkt zu markieren. Die letzte Zeile des
Konfiguration muss sein . Die Zeile „guard email“ dient zur Angabe des Absenders
E-Mail-Adresse und Name, die beim Versenden von Benachrichtigungen per E-Mail verwendet werden sollen. Mit anderen Worten, diese Zeile
definiert das E-Mail-Feld „Von:“. Der begrenzt einen Block von
Definitionen zu einer Uhr oder einigen Uhrenverfahren.

Der Ort kann mehrere haben Blöcke. Darin drin
Blöcke ( ), Die Leerzeichen wird verwendet, um einen Titel hinzuzufügen
wird den Zweck der Sperre identifizieren. Die Zeile „Kontaktpunkt“ enthält das Ziel
E-Mail-Adresse (An:) und Name beim Versenden von Benachrichtigungen per E-Mail.

Jede Zeile kann eine Datei/ein Verzeichnis überwachen und Aktionen ausführen. Der erste Weg
Die angezeigte Zeile überwacht rekursiv das Verzeichnis /var/www. Da keine Ereignisse definiert wurden,
iWatch verwendet das Standardereignis (close_write, create, delete, move, delete_self und
move_self-Ereignisse). Wenn ein Ereignis auftritt, wird es vom Syslog registriert und eine Meldung ausgegeben
der Programmname (%p = iWatch), das Ereignis (%e) und der überwachte Datei-/Verzeichnisname (%f)
wird per XMPP-Protokoll (sendxmpp externes Programm) an gesendet [E-Mail geschützt] . Beachten Sie, dass
Alert="off" deaktiviert den E-Mail-Versand. Ein weiterer wichtiger Punkt ist die zweite Zeile
schließt die Datei/das Verzeichnis /var/www/counter von der Beobachtung aus.

Das gezeigte Beispiel verwendet sendxmpp Befehl. Eine andere gute Möglichkeit ist die Anwendung von
yowsup-cli Befehl um WhatsApp-Nachrichten zu versenden.

Ein neues Beispiel. Mit der unten gezeigten Konfiguration funktioniert iWatch über drei
Blöcke







Öffentliche Website
<Kontaktpunkt-E-Mail="[E-Mail geschützt] " name="WebMaster"/>
/var/www/localhost/htdocs
/var/www/localhost/htdocs/About
/var/www/localhost/htdocs/Photos


Betriebssystem

/ etc / apache2
/ etc / passwd
/etc/mail
/etc/mail/statistics
/ Etc


Nur testen

/tmp/dir1
/tmp/dir2
/tmp/dir3
/tmp/dir4



Der erste Der Block überwacht ein Verzeichnis und verfügt über spezielle Aktionen für zwei Dateien
aber keine Ausführung a Befehl in keinem von ihnen. Der erste Pfad ist ein einzelner (nicht rekursiver)
Verzeichnis /var/www/localhost/htdocs und alle Benachrichtigungen werden an die Kontaktstelle gesendet
[E-Mail geschützt] . Beachten Sie, dass keine Ereignisse angegeben sind. Die Standardeinstellung (close_write,
create, delete, move, delete_self und move_self) verwendet werden. Der zweite Pfad ist die Datei
/var/www/localhost/htdocs/About. Diese Datei befindet sich im letzten Verzeichnis. Der Unterschied
ist, dass alle Aktivitäten über diese Datei in /var/log/syslog protokolliert werden. Der dritte Weg
überwacht rekursiv das Verzeichnis /var/www/localhost/htdocs/Photos (auch innerhalb von
das erste Verzeichnis). Kein Protokoll. Standardereignisse werden per E-Mail benachrichtigt.

Der zweite Block verfügt über fünf Überwachungen. Alle Benachrichtigungen werden an admin@localhost gesendet.
Die wichtigste Neuerung gegenüber dem ersten Block besteht darin, dass ein Pfad zur Überwachung eine „Filter“-Anweisung verwendet
/ etc / Schatten und / etc / passwd gleichzeitig. Um diese Situation besser zu verstehen, sehen Sie sich die an
'-t' im Abschnitt OPTIONEN.

Der letzte Block überwacht ein Standardereignis in der ersten Zeile und mehrere Nicht-Standardereignisse in
die folgenden drei Zeilen. In allen Zeilen wird der „Alarm“ definiert as 'aus'. Also, iWatch wird es tun
Senden Sie keine E-Mails mit der integrierten Mail-Engine. Allerdings in drei Zeilen das Äußere
Befehl „mail“ wurde zum Versenden personalisierter E-Mails verwendet.

LERNEN ABOUT Events


Ein Tipp, um sich über Ereignisse zu informieren, ist das Ansehen der iWatch Befehl ausführen mit '-e alle Veranstaltungen'
Möglichkeit. Im folgenden Beispiel wird ein 'ls' überwacht / Tmp' Befehl.

$ 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

Ein weiteres Beispiel, das die Erstellung einer darin enthaltenen Datei überwacht / Tmp:

$ iwatch -e all_events / Tmp
[17 2014:11:29] IN_MODIFY /tmp/file.txt
[17 2014:11:29] IN_OPEN /tmp/file.txt
[17 2014:11:29] IN_MODIFY /tmp/file.txt
[17 2014:11:29] IN_CLOSE_WRITE /tmp/file.txt
[17 2014:11:29] * /tmp/file.txt ist geschlossen

Im letzten Beispiel sind also die Aktionen „modify“, „open“ und „close_write“ aufgetreten.

REGELN VALIDATION


Seit Version 0.2.0 prüft iWatch die Gültigkeit der XML-Datei, wenn sie den folgenden Eintrag enthält
die ersten beiden Zeilen:




Die Prüfung erfolgt anhand eines von beschriebenen Musters / Etc /iwatch/iwatch.dtd-Datei. Ohne
In den angezeigten zwei Zeilen gibt iWatch lediglich eine Warnung aus, dass Sie eine DTD-Datei verwenden müssen, und
es läuft weiter as normal ohne XML-Validierung. Das XML-Format der iWatch ist sehr
einfach und leicht zu verstehen, und es verwendet die folgende DTD:


<!ATTLIST-Konfiguration
Zeichensatz CDATA „utf-8“
>

<!ATTLIST Wache
E-Mail CDATA #ERFORDERLICH
Name CDATA #IMPLIED
>



<!ATTLIST-Kontaktpunkt
E-Mail CDATA #ERFORDERLICH
Name CDATA #IMPLIED
>

<!ATTLIST-Pfad
Geben Sie CDATA #REQUIRED ein
Alarm (ein|aus) „aus“
Ereignisse CDATA #IMPLIED
exec CDATA #IMPLIZIERT
Filter CDATA #IMPLIED
Syslog (ein|aus) „aus“

Verwenden Sie iwatch online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad