Incrontab: Eine Einführung in Funktionen und Anwendungsmöglichkeiten

Automatisierung spielt in der IT-Welt eine wichtige Rolle. Hier kommt Incron ins Spiel. Dieses praktische Tool erweitert die Möglichkeiten von Cron, das normalerweise zeitgesteuerte Aufgaben erledigt. Mit Incrontab kann man Aufgaben auslösen, sobald bestimmte Änderungen an Dateien oder Verzeichnissen passieren.

In diesem Beitrag erklären wir Ihnen, was Incrontab genau ist, wie es funktioniert und in welchen Bereichen es eingesetzt werden kann. Zudem beleuchten wir die Vor- und Nachteile, damit Sie entscheiden können, ob Incrontab Ihren Anforderungen entspricht.

Was ist Incrontab?

Ein Incrontab legt fest, welche Befehle das System ausführt, sobald ein Event eintritt: „Wenn etwas mit der Datei passiert, führe folgendes aus.“
Das System speichert und verarbeitet diese Befehle in sogenannten Tabellen. Es gibt zwei Arten solcher Tabellen:
• User-Tabellen: Benutzer erstellen und verwalten diese Tabellen, die mit ihren jeweiligen Benutzerrechten arbeiten.
• System-Tabellen: Das System verwendet diese Tabellen mit Root-Rechten (erhöhten Rechten), um systemweite Ereignisse zu überwachen.

Jeder User besitzt seine eigene Tabelle und führt die darin enthaltenen Befehle unter seinem eigenen Namen aus.
>> Systemuser wie www-data, postfix etc. haben ihre eigene Liste.

Funktionsweise von Incrontab

Der Incrond Daemon liest die Befehlstabelle jedes mal, wenn er startet oder sich etwas an einer Datei verändert.
>> Der Incrond Daemon ist für gewöhnlich im Autostart und startet, sobald sie ihr Gerät einschalten.

Doch wie schreibt man überhaupt die Befehle ?

generell schreibt man die Incrontab Befehle wie folgt:

<pfad> <maske> <Befehl>

Wobei

  • <Pfad> für den Pfad zur Datei steht (/hier/ist/ein/Beispiel/Pfad/Dateiname)
  • <Maske>definiert die Ereignisse, die das System überwachen soll
  • <Befehl> legt fest, was ausgeführt wird, wenn ein Ereignis aus der Maske eintritt >> Das können kleine Befehle oder sogar ganze Scripte sein

Hier ein simples Beispiel:

/tmp/beispielverzeichnis/ IN_MODIFY /usr/bin/echo "Datei geändert: $@, Datei: $#" >> /var/log/incron.log

Erklärung:

  • Pfad: /tmp/beispielverzeichnis/ – Das Verzeichnis, das überwacht wird.
  • Maske: IN_MODIFY – Überwacht Änderungen an Dateien im Verzeichnis.
  • Befehl: /usr/bin/echo "Datei geändert: $@, Datei: $#" >> /var/log/incron.log
  • $@ gibt den überwachten Verzeichnispfad aus.
  • $# gibt den Namen der Datei aus, die das Ereignis ausgelöst hat.
  • >> /var/log/incron.log sorgt dafür, dass die Ausgabe in die Logdatei /var/log/incron.log geschrieben wird (und bestehender Inhalt nicht überschrieben wird).

>> Achten Sie nur darauf, dass derselbe Pfad nie mehr als einmal pro Tabelle auftritt.
Das System arbeitet die Tabellen von oben nach unten ab und überspringt doppelte Pfade. In diesem Fall schreibt es bei jedem doppelten Pfad und jeder Ausführung dieser Tabelle eine Fehlermeldung in die Logdateien.

Fazit

Incrontab ergänzt herkömmliche Cronjobs durch seine ereignisbasierte Steuerung. Während Cronjobs zeitbasiert ausgeführt werden, reagiert Incrontab auf Datei- oder Verzeichnisereignisse. Beide Tools haben unterschiedliche Anwendungsbereiche und können sich ideal ergänzen, je nach den Anforderungen Ihres Systems.

Wenn Sie Hilfe benötigen um Incrontabs bei ihnen im Unternehmensnetzwerk zu implementieren kontaktieren Sie uns, wir beraten Sie gerne.