Ce tutoriel expliquera comment implémenter un script simple qui utilise l'API Python et Linux Inotify pour surveiller les modifications dans un répertoire spécifique et enregistrer les modifications de la console.
Avant d'arriver au script, discutons brièvement du fonctionnement de l'inotifier.
Qu'est-ce que l'inotifier? Comment ça marche?
Inotify est un sous-système de noyau qui fournit le mécanisme pour surveiller les événements du système de fichiers et les signaler à diverses applications qui les nécessitent. L'inotify est incroyablement puissant car il fonctionne dans les niveaux inférieurs du noyau et est personnalisable pour étendre les fonctionnalités. Inotify peut surveiller les modifications des répertoires et des fichiers individuels.
Bien que l'inotify soit puissant, il a certaines limites. Ces limitations incluent:
Cependant, l'inotify est toujours un bien meilleur choix que dnotify, son prédécesseur. Inotify est très applicable dans les applications de sécurité comme les antivirus.
Maintenant que nous avons l'inotifier de la théorie de base à l'écart, plongeons-nous dans la construction du script qui nous aidera à surveiller les changements de répertoire.
Installation de python et de chien de garde
Avant de plonger dans le code, créons quelques exigences, telles que l'installation de Python et du package de surveillance.
Pour installer Python3 sur Debian, utilisez la commande APT comme:
Mise à jour Sudo apt-get
sudo apt-get install python3.7 Python3-Pip -y
Pour installer le package de surveillance, utilisez la commande PIP3 comme indiqué ci-dessous:
https: // pypi.org / project / watchdog /
Sudo Pip3 Installer Watchdog
Écrire le script
Le script que nous créerons dans ce tutoriel est très simple. Considérez le code source ci-dessous:
importer sysNous commençons par importer les modules requis, y compris le chien de garde. Ensuite, nous créons une fonction de moniteur simple et définissons la configuration, telle que le format de sortie et la date. Ensuite, nous définissons les arguments du chemin du répertoire.
Nous nous déplaçons ensuite pour créer un objet d'observateur et le définissons pour surveiller récursivement les modifications du répertoire spécifié à moins qu'une interruption de clavier ne soit rencontrée (Ctrl + C)
Enfin, nous appelons la fonction et exécutons le script. Vous obtiendrez une sortie comme indiqué ci-dessous:
Conclusion
En utilisant ce tutoriel, nous avons créé un script simple qui surveille les changements dans un répertoire et les enregistre constamment à la console.