Debian Incron

Aus Wiki
Zur Navigation springen Zur Suche springen

Allgemein

Incron ist ein Filesystembasierter Crondienst. Ähnlich wie cron, ermöglicht Incron Programme anstatt zeitgesteuert (Cron), filesystembasiert zu starten. Insbesondere können Aktionen nach dem erstellen, abspeichern und löschen von Dateien ausgelöst werden.


Installation

apt-get install incron


Benutzung

Incron führt Befehle aus, die in einer Steuerdatei (beliebiger Name) im Verzeichnis /etc/incron.d/ abgelegt sind (analog cron in /etc/cron.d).

Aufbau einer Steuerdatei:

Zu_überwachendes_Verz FILE_EVENT Aktion


Warning.png Achtung:
Zwischen den einzelnen Parametern immer nur genau ein Leerzeichen einfügen. Sollten mehrere Leerzeichen verwendet werden, kann Incron die einzelnen Parameter nicht zuordnen und es kann zu Fehlfunktionen kommen.


Folgende FILE_EVENT's und Variablen können verwendet werden:

FILE_EVENT Bedeutung
IN_ACCESS Datei wurde lesend geöffnet
IN_ATTRIB Metadaten sind geändert worden (permissions, timestamps, extended attributes, etc.)
IN_CLOSE_WRITE Datei wurde nach schreibendem Zugriff geschlossen
IN_CLOSE_NOWRITE Datei wurde geschlossen ohne dass etwas geschrieben wurde
IN_CREATE Datei oder Verzeichnis wurde erstellt
IN_DELETE Datei oder Verzeichnis wurde gelöscht
IN_DELETE_SELF Überprüftes Verzeichnis selbst wurde gelöscht
IN_MODIFY Datei wurde geändert
IN_MOVE_SELF Überprüftes Verzeichnis selbst wurde verschoben
IN_MOVED_FROM Datei ist aus überprüftem Verzeichnis verschoben worden
IN_MOVED_TO Datei ist in überprüftes Verzeichnis geschoben worden
IN_OPEN Datei ist geöffnet worden
Variable Bedeutung
$@ Der Name des überprüften Verzeichnis selbst
$# Name der betroffenen Datei
$% Das ausgelöste Event (FILE_EVENT) in textform
$& Das ausgelöste Event (FILE_EVENT) in numerischer Form
$$ Ein Dollarzeichen


Beispiele

  • /etc/incron.d/mv_incoming verschiebt automatisch im /tmp/ Ordner abgelegte Files in den Ordner /home/share/incoming/
/tmp IN_CLOSE_WRITE mv $@/$# /home/share/incoming/
  • /etc/incron.d/watch_delete sendet eine Mail, sobald ein File im überwachten Directory gelöscht wird
/root IN_DELETE echo "Datei $@/$# wurde gelöscht"|sendmail root