ADMIN-Tipp: Dateien überwachen mit Incron

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

Mit der Inotify-Schnittstelle des Linux-Kernel lassen sich Dateien und Verzeichnisse auf Veränderungen hin überwachen. Passende Tools führen Befehle und Skripts aus, wenn sich etwas ändert. 

Wer unter Linux ein Skript starten möchte, wenn sich eine Datei oder ein Verzeichnisinhalt ändert, kann die Inotify-Schnittstelle des Kernels verwenden, um Dateien und Verzeichnisse zu überwachen. Dafür gibt es verschiedene Programmierbibliotheken wie Pynotify , aber auch fertige Tools wie iWatch  oder das hier vorgestellte Incron

Der Inotify-Daemon Incron verwendet zur Konfiguration eine ähnliche Struktur wie der bekannte Cron-Daemon. Mit einem Kommando namens "incrontab" lassen sich die Konfigurationsdateien bearbeiten. Alternativ kann der Root-Benutzer systemweite Konfigurationsdateien im "/etc"-Verzeichnis speichern, beispielsweise in "/etc/incron.d". Die globale Konfigurationsdatei ist "/etc/incron.conf", darüber hinaus bestimmen die Dateien "/etc/incron.allow" und "/etc/incron.deny", welche Benutzer eigene Incron-Dateien anlegen dürfen. 

In einer Incrontab steht zuerst die zu überwachende Datei oder ein Verzeichnis, dann folgt das Zugriffsmuster, das eintreten muss, damit Incron tätig wird, gefolgt von dem auszuführenden Befehl. Das Zugriffsmuster kann beispielsweise das Öffnen (IN_OPEN) oder Schließen (IN_CLOSE_WRITE) einer Datei sein. Insgesamt bietet Incron ein gutes Dutzend solcher Events. Dem aufgerufenen Skript kann der Dateiname mit Platzhaltern wie "$#" übergeben werden.

Wer beispielsweise in einem überwachten Verzeichnis per Skript Dateien konvertiert und damit neue erzeugt, muss aufpassen, dass er sich keinen unendlichen Loop einhandelt und in seinem Skript entsprechende Filter verwenden. 

Ausführliche Informationen zu Incron sind im ADMIN-Artikel " Dateien und Verzeichnisse mit Incron überwachen " zu finden. 

24.06.2015

Ä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