Incron: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „incron ist ein auf inotify basierender cron daemon. Anstelle von Zeit werden die Aktionen von Dateisystem-Events ausgelöst. = Job Definition = Job Anweisungen h…“) |
|||
Zeile 57: | Zeile 57: | ||
$% - Der Event (Text) | $% - Der Event (Text) | ||
$& - Der Event (Nummer) | $& - Der Event (Nummer) | ||
+ | |||
+ | = Beispiele = | ||
+ | Sobald in <code>/var/mail</code> eine Datei geändert wurde soll der Befehl <code>asd</code> mit dem vollen Dateipfad aufgerufen werden. | ||
+ | /var/mail IN_CLOSE_WRITE asd $@/$# |
Version vom 14. November 2011, 12:46 Uhr
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 $@/$#