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

 

/etc/sysctl.conf

# Forwarding deaktivieren
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0

# Packet Redirect deaktivieren
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# Routed Packets nicht akzeptieren
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0

# ICMP Redirects nicht akzeptieren
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0

# Secure ICMP Redirects nicht akzeptieren
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

# Suspicious packets müssen geloggt werden
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1

# Broadcast ICMP Requests müssen ignoriert werden
net.ipv4.icmp_echo_ignore_broadcasts = 1

# bogus ICMP responses müssen ignoriert werden
net.ipv4.icmp_ignore_bogus_error_responses = 1

# Reverse Path Filtering aktivieren
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# TCP SYN Cookies müssen aktivieren werden
net.ipv4.tcp_syncookies = 1

# IPv6 router advertisements deaktivieren
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0