In diesem Tutorial wird ein einfaches Skript implementiert, das Python- und Linux -API verwendet, um Änderungen in einem bestimmten Verzeichnis zu überwachen und die Konsolenänderungen zu protokollieren.
Bevor wir zum Skript kommen, lassen Sie uns kurz erläutern, wie inotifiziert funktioniert.
Was ist inotifiziert? Wie funktioniert es?
Inotify ist ein Kernel -Subsystem, das den Mechanismus zur Überwachung von Ereignissen im Dateisystem bereitstellt und an verschiedene Anwendungen meldet, die sie erfordern. Inotify ist unglaublich leistungsfähig, weil es in den unteren Ebenen des Kernels funktioniert und anpassbar ist, um die Funktionalität zu erweitern. Inotify kann Änderungen in Verzeichnissen und einzelnen Dateien überwachen.
Obwohl inotify mächtig ist, hat es einige Einschränkungen. Diese Einschränkungen umfassen:
Inotify ist jedoch immer noch eine viel bessere Wahl als Dnotify, sein Vorgänger. Inotify ist in Sicherheitsanwendungen wie Antiviren sehr anwendbar.
Jetzt, da wir die inotifizierte grundlegende Theorie aus dem Weg lassen, lassen Sie uns in das Erstellen des Skripts eintauchen, das uns hilft, Verzeichnisänderungen zu überwachen.
Installieren Sie Python und Watchdog
Lassen Sie uns vor dem Tauchen in den Code einige Anforderungen einrichten, z. B. die Installation von Python und das Watchdog -Paket.
Um Python3 auf Debian zu installieren, verwenden Sie den APT -Befehl als:
sudo apt-Get-Update
sudo apt-get installieren Sie Python3.7 Python3 -Pip -y
Verwenden Sie zum Installieren des Watchdog -Pakets den Befehl PIP3, wie unten gezeigt:
https: // pypi.org/project/watchdog/
sudo pip3 Installieren Sie Watchdog
Schreiben des Skripts
Das Skript, das wir in diesem Tutorial erstellen werden, ist sehr einfach. Betrachten Sie den unten angegebenen Quellcode:
ImportsystemWir beginnen mit dem Importieren der erforderlichen Module, einschließlich Watchdog. Als nächstes erstellen wir eine einfache Monitorfunktion und setzen die Konfiguration, z. B. das Ausgangsformat und das Datum. Als nächstes setzen wir die Argumente des Verzeichnispfads.
Anschließend erstellen wir ein Observer -Objekt und setzen es so, dass die Änderungen am angegebenen Verzeichnis rekursiv überwacht werden, sofern ein Tastatur -Interrupt nicht auftritt (Strg + C)
Schließlich nennen wir die Funktion und führen das Skript aus. Sie erhalten eine Ausgabe, wie unten gezeigt:
Abschluss
Mit diesem Tutorial haben wir ein einfaches Skript erstellt, das die Änderungen in einem Verzeichnis überwacht, und protokolliert sie ständig an der Konsole.