ADMIN-Tipp: iWatch überwacht Dateiveränderungen

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Als Sysop gibt es immer was zu überwachen, egal ob Netzwerkverkehr, Systemauslastung oder das Dateisystem. Letzteres lässt sich am besten über die Inotify-Schnittstelle des Linux-Kernels erledigen. Das Perl-Programm iWatch hilft dabei.

Einzelne Verzeichnisse und Dateien kann der Administrator zum Beispiel mit als Cronjobs regelmäßig ausgeführten Skripts überwachen. Oder ein Skript enthält eine Schleife, die seine Dateitests regelmäßig startet. In beiden Fällen läuft die Prüfung entweder nur recht selten ab oder beansprucht, geschieht sie häufiger, relativ viele Ressourcen. Effektiver überwacht man seit Linux 2.6.13 Dateien und Verzeichnisse über die Inotify-Schnittstelle des Betriebssystems.

Das Tool  iWatch verwendet die Inotify-Schnittstelle, liest eine XML-Konfigurationsdatei ein und überwacht die dort festgelegten Pfade und Dateien. Tritt die definierte Veränderung ein, benachrichtigt iWatch den User per E-Mail oder führt ein einstellbares Kommando aus. Per Default überwacht iWatch die Events »close_write«, »create«, »delete«, »move«, »delete_self« und »move_self«. Eine Liste aller verfügbaren Events findet sich auf der iWatch-Homepage. Auf der Kommandozeile folgen die Events hinter dem Schalter »-e«.

Mit der Option »-r« (rekursiv) überwacht iWatch nicht nur das spezifizierte Verzeichnis selbst, sondern auch die Unterverzeichnisse. Die E-Mail-Adresse für die Benachrichtigung folgt hinter »-m«. Ein auszuführender Befehl steht hinter »-c«, mit »-s« meldet iWatch auftretende Events über das Syslog. Alternativ zum Kommandozeilenmodus liest iWatch die Einstellungen aus einer XML-Datei - für umfangreiche Monitoring-Aktivitäten sicherlich die bessere Lösung.

20.06.2012

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023