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 deaktivierennet.ipv4.ip_forward = 0net.ipv6.conf.all.forwarding = 0
# Packet Redirect deaktivierennet.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0
# Routed Packets nicht akzeptierennet.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 akzeptierennet.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 akzeptierennet.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0
# Suspicious packets müssen geloggt werdennet.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1
# Broadcast ICMP Requests müssen ignoriert werdennet.ipv4.icmp_echo_ignore_broadcasts = 1
# bogus ICMP responses müssen ignoriert werdennet.ipv4.icmp_ignore_bogus_error_responses = 1
# Reverse Path Filtering aktivierennet.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1
# TCP SYN Cookies müssen aktivieren werdennet.ipv4.tcp_syncookies = 1
# IPv6 router advertisements deaktivierennet.ipv6.conf.all.accept_ra = 0 net.ipv6.conf.default.accept_ra = 0