Ich habe ein Skript, das ein Verzeichnis durchsucht und die darin enthaltenen Dateien pflegt. Ein anderer Prozess erstellt die Dateien im Verzeichnis (10 - 30 Dateien pro Tag).
Das Skript wird über einen täglichen Cron-Job aufgerufen. Ich muss das Skript für ein Ereignis auslösen (jedes Mal, wenn eine neue Datei im Verzeichnis erstellt wird). Ich bevorzuge dies, anstatt die Häufigkeit des Cron-Jobs zu erhöhen.
Wie kann ich das machen? Gibt es einen Befehl oder ein Programm zum Installieren?
Vielen Dank im Voraus für jede Hilfe.
quelle
incron
, dieinoticoming
ist da .Es gibt auch ein kleines Programm namens
iwatch
- siehe die Manpage (diese Seite ist für Ubuntu präzise (12.04), es hat Links zu anderen Ubuntu-Versionen).iwatch
kann Ordner rekursiv überwachen (dh auch Unterordner) und E-Mails als Reaktion auf Datei- / Verzeichnisereignisse senden.quelle
Ein weiteres nützliches Hilfsprogramm ist
fileschanged
( man page here ), mit dem Dateisystemereignisse für ausgewählte Dateien oder Verzeichnisse überwacht werden können, z. B. der folgende Befehlsollte das aktuelle Verzeichnis auf
stdout
Dateierstellungsereignisse überwachen und den Namen der erstellten Datei mit einer Zeitüberschreitung von 1 Sekunde schreiben.fileschanged
kann Ordner rekursiv überwachen (wieiwatch
in einer anderen Antwort angegeben), im Gegensatz zuincron
undinoticoming
.quelle
inotify Mann Seite befindet sich dort
Wenn Sie Python-Skripte bevorzugen, können Sie Pyinotify verwenden
quelle