GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verwendet man Inotifywait, um ein Verzeichnis für die Erstellung von Dateien einer bestimmten Erweiterung zu überwachen?

Ich habe diese Antwort gesehen.

Sie sollten als Beispiel in Betracht ziehen, inotifywait zu verwenden:

inotifywait -m /path -e create -e moved_to |
    while read path action file; do
        echo "The file '$file' appeared in directory '$path' via '$action'"
        # do something with the file
    done

Meine Frage ist, dass das obige Skript ein Verzeichnis auf die Erstellung von Dateien jeglicher Art überwacht, aber wie ändere ich den inotifywait Befehl, nur zu melden, wenn eine Datei eines bestimmten Typs/einer bestimmten Erweiterung erstellt (oder in das Verzeichnis verschoben) wird – z. es sollte melden, wenn .xml Datei erstellt.

WAS ICH VERSUCHT HABE:

Ich habe inotifywait --help ausgeführt Befehl und haben die Befehlszeilenoptionen gelesen. Es hat --exclude <pattern> und --excludei <pattern> Befehle zum AUSSCHLIESSEN Dateien bestimmter Typen (unter Verwendung von RegEx), aber ich brauche eine Möglichkeit, nur INCLUDE die Dateien eines bestimmten Typs/Erweiterung.

Akzeptierte Antwort:

Wie ändere ich den Befehl inotifywait, um nur zu melden, wenn eine Datei
eines bestimmten Typs/einer bestimmten Erweiterung erstellt wird

Bitte beachten Sie, dass dies ungetesteter Code ist da ich keinen Zugriff auf inotify habe im Augenblick. Aber etwas Ähnliches sollte funktionieren:

inotifywait -m /path -e create -e moved_to |
    while read path action file; do
        if [[ "$file" =~ .*xml$ ]]; then # Does the file end with .xml?
            echo "xml file" # If so, do your thing here!
        fi
    done

Linux
  1. Wie verstecke ich Dateien mit einer bestimmten Erweiterung?

  2. So verwenden Sie Netcat zum Übertragen von Dateien unter Linux

  3. Wie unterscheiden Sie ein Verzeichnis nur für Dateien eines bestimmten Typs?

  4. Wie werden Standard-Dateiberechtigungen für alle Ordner/Dateien in einem Verzeichnis festgelegt?

  5. Wie erzwinge ich bestimmte Berechtigungen für neue Dateien/Ordner auf dem Linux-Dateiserver?

So verwenden Sie den SCP-Befehl zum sicheren Übertragen von Dateien

So kopieren Sie Dateien und Verzeichnisse unter Linux

So tarieren Sie bestimmte Dateitypen (Erweiterungen) in einem Verzeichnis

So entfernen Sie Dateien mit einer bestimmten Erweiterung in Linux

So kopieren Sie Dateien mit einer bestimmten Dateierweiterung rekursiv

So schließen Sie bestimmte Dateierweiterungen beim rekursiven Kopieren von Dateien aus