Dirs & Files mit Inotify überwachen

Aus verschiedenen Gründen kann es sinnvoll sein ein Verzeichnis oder eine Datei zu überwachen, um bei bspw. Zugriffen/Veränderungen eine Aktion auszuführen. Genau sowas kann Inotify. Es arbeitet auf "Inode"-Ebene und überwacht Dateisystemvorgänge.

Die Installation ist recht simpel. Zunächst installiert man das Paket inotify-tools. Das ist mit einem einfachen apt-get install inotify-tools erledigt.

Beispiel Verzeichnis überwachen mit "move"-Aktion.

Wir überwachen das Verzeichnis /home/Daten/ mit Inotify. Sobald eine Datei erstellt  oder modifiziert wird, wird eine Kopie nach /home/Sicherung/ gespeichert.

inotifywait -m /home/Daten/ -e create -e modify | 
  while read path action file; do
  cp -R * /home/Sicherung/;
done

Will man bestimmte Dateien kopieren, bspw. .xml-Dateien, so kann das wie folgt gemacht werden:

inotifywait -m /path -e create -e moved_to -e modify |
  while read path action file; do
if [[ "$file" =~ .*xml$ ]]; then
    echo "xml file"
fi
done