Incron

Aus xinux.net
Zur Navigation springen Zur Suche springen

incron ist ein auf inotify basierender cron daemon. Anstelle von Zeit werden die Aktionen von Dateisystem-Events ausgelöst.

Job Definition

Job Anweisungen haben das Format:

<Pfad> <Event-Maske> <Befehl>

Events

Folgende Standard Masken sind definiert und könne als Event ausgelöst werden

IN_ACCESS
Auf datei wurde (lesend) zugegriffen
IN_ATTRIB
Metadaten wie Dateirechte, Zeitstempel etc. wurden geändert.
IN_CLOSE_WRITE
Zum schreiben geöffnete Datei wurde geschlossen
IN_CLOSE_NOWRITE
Geöffnete (nicht zum schreiben) Datei wurde geschlossen
IN_OPEN
Datei wurde geöffnet
IN_MODIFY
Datei wurde verändert
IN_CREATE
Es wurde eine Datei/Ordner im überwachten Verzeichnis erstellt
IN_DELETE
Es wurde eine Datei/Ordner im überwachten Verzeichnis gelöscht
IN_DELETE_SELF
Überwachte Datei/Ordner wurde gelöscht
IN_MOVE_SELF
Überwachte Datei/Ordner wurde verschoben
IN_MOVED_FROM
Datei wurde aus überwachtem Ordner verschoben
IN_MOVED_TO
Datei wurde in überwachtem Ordner verschoben

Hinzukommen Event-Masken zur Definition

IN_ALL_EVENTS
Erspart manuelle Liste mit allen Events
IN_DONT_FOLLOW
Löse Pfade von symbolischen Links nicht auf
IN_ONESHOT
Über wache den Pfad für nur einen Event lang
IN_ONLYDIR
Überwache den Pfad nur, wenn es ein Verzeichnis ist

Desweiteren gibt es einen Event, welcher nicht in der inotify Bibliothek enthalten ist

IN_NO_LOOP
Unterbreche Überwachung, bis aktueller Event vollständig abgearbeitet ist (bis sein Kindprozess terminiert)

Befehle

In der Befehlsangabe können folgende Variablen genutzt werden

$$ - Dollarzeichen
$@ - Der überwachte Dateisystempfad
$# - Name der Datei, welche den Event auslöste
$% - Der Event (Text)
$& - Der Event (Nummer)

Beispiele

Sobald in /var/mail eine Datei geändert wurde soll der Befehl asd mit dem vollen Dateipfad aufgerufen werden.

/var/mail IN_CLOSE_WRITE asd $@/$#