[[Vorlage(archiviert)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis]] Mit dnotify werden Veränderungen innerhalb von Verzeichnissen überwacht. Dabei werden die Veränderungen vom Betriebssystemkern an dnotify weitergeleitet. Diese "passive" Überwachung ermöglicht auch die Kontrolle großer Datenmengen zeitnah und ressourcenschonend zu gestalten. Einige Anwendungsmöglichkeiten befinden sich im Abschnitt Beispiele. Eine Alternative zu dnotify ist [:inotify:], welches einen erweiterten Funktionsumfang liefert. = Installation = Das Paket {{{#!vorlage Paketinstallation dnotify, universe (bis einschließlich [:Natty:]) }}} muss installiert sein[1]. = Syntax = Die allgemeine Syntax[2] ist wie folgt: {{{#!vorlage Befehl dnotify [OPTIONEN] [Verzeichnis] [Befehl] }}} = Optionen = ||<-2 rowclass="titel"> Optionen von dnotify || || Option || Beschreibung || || ``-A`` oder ``--access`` || Ein Befehl wird ausgeführt, wenn auf eine Datei (lesend) zugegriffen wurde. Dies gilt nicht sofern die Datei leer ist. || || ``-M`` oder ``--modify`` || Ein Befehl wird ausgeführt, wenn eine vorhandene Datei verändert wurde. || || ``-C`` oder ``--create`` || Ein Befehl wird ausgeführt, wenn eine Datei erstellt wurde. || || ``-D`` oder ``--delete`` || Ein Befehl wird ausgeführt, wenn eine Datei gelöscht wurde. || || ``-R`` oder ``--rename`` || Ein Befehl wird ausgeführt, wenn eine Datei umbenannt wurde. || || ``-B`` oder ``--attrib`` || Ein Befehl wird ausgeführt, wenn Datei-Attribute verändert wurden ([:chmod:] oder [:chown:]). || || ``-a`` oder ``--all`` || Auf alle Änderungen achten, Abkürzung für ’-AMCDRB’. || || ``-e`` oder ``--execute`` || Gibt an welcher Befehl ausgeführt werden soll, {} enthält den Namen des betroffenen Verzeichnisses. || || ``-f`` oder ``--file`` || Dieser Parameter kann mehrfach verwendet werden und gibt jeweils den Namen einer Datei an, die zu überwachende Verzeichnispfade enthält. Dabei muss jeder Pfadname in einer eigenen Zeile stehen. || || ``-p`` oder ``--processes`` || Gibt die maximale Anzahl der parallel zu startenden Prozesse an. Standardmäßig \\ wird nur ein Prozess gestartet. || || ``-q`` oder ``--queue`` || Anzahl der Befehle, die gemerkt werden, während die Prozesse ausgelastet sind. ``-1`` definiert eine unlimitierte Warteschlange (Standard). || || ``-t`` oder ``--times`` || Beendet dnotify nach den n-ten Befehlsaufruf || || ``-o`` oder ``--once`` || Beendet dnotify nach dem ersten Aufruf. Kurzschreibweise für ``--times 1``. || || ``-r`` oder ``--recursive`` || Die angegebenen Verzeichnisse werden rekursiv (inklusive Unterordner überwacht). || || ``-b`` oder ``--background`` || dnotify soll eigenständig im Hintergrund arbeiten || || ``-s`` oder ``--silent`` || Zeigt keine Warnungen bei Befehlsfehlern an || = Beispiele = Gibt `Achtung` über den Befehl `echo` aus, jedes mal wenn auf eine der Dateien im Verzeichnis '''/tmp''' zugegriffen wurde. {{{#!vorlage Befehl dnotify -A /tmp -e echo Achtung }}} Gibt `Datei aus /verzeichnis wurde entfernt` über den Befehl `echo` aus , wenn eine der Dateien im Verzeichnis '''/tmp''' oder einem Unterverzeichnis davon gelöscht wurde. {{{#!vorlage Befehl dnotify -Dr /tmp/ -e echo Datei aus {} wurde entfernt }}} #tag: System, Shell