Questo tutorial esaminerà come implementare un semplice script che utilizza l'API Python e Linux inotify per monitorare le modifiche in una directory specifica e registrare le modifiche alla console.
Prima di arrivare alla sceneggiatura, discutiamo brevemente di come funziona inotify.
Cosa è inotifica? Come funziona?
Inotify è un sottosistema del kernel che fornisce il meccanismo per monitorare gli eventi all'interno del filesystem e segnalarli a varie applicazioni che li richiedono. Inotify è incredibilmente potente perché funziona ai livelli più bassi del kernel ed è personalizzabile per espandere la funzionalità. Inotify può monitorare le modifiche nelle directory e nei singoli file.
Sebbene inotify sia potente, ha alcune limitazioni. Queste limitazioni includono:
Tuttavia, inotify è ancora una scelta molto migliore di Dnotify, il suo predecessore. Inotify è altamente applicabile in applicazioni di sicurezza come gli antivirus.
Ora che abbiamo la teoria di base inotificata fuori mano, ci immergiamo nella costruzione della sceneggiatura che ci aiuterà a monitorare le modifiche alla directory.
Installazione di Python e watchdog
Prima di immergerti nel codice, impostiamo alcuni requisiti, come l'installazione di Python e il pacchetto Watchdog.
Per installare Python3 su Debian, utilizzare il comando APT come:
Sudo Apt-get Aggiornamento
sudo apt-get installa python3.7 Python3 -pip -y
Per installare il pacchetto watchdog, utilizzare il comando PIP3 come mostrato di seguito:
https: // pypi.org/progetto/watchdog/
SUDO PIP3 Installa il cane da guardia
Scrivere la sceneggiatura
Lo script che creeremo in questo tutorial è molto semplice. Considera il codice sorgente mostrato di seguito:
Import sysIniziamo importando i moduli richiesti, incluso il cane da guardia. Successivamente, creiamo una semplice funzione di monitor e impostiamo la configurazione, come il formato di output e la data. Successivamente, abbiamo impostato gli argomenti del percorso della directory.
Quindi ci spostiamo per creare un oggetto Observer e impostarlo per monitorare ricorsivamente le modifiche alla directory specificata a meno che non si incontri un interrupt da tastiera (CTRL + C)
Infine, chiamiamo la funzione ed eseguiamo lo script. Otterrai un output come mostrato di seguito:
Conclusione
Usando questo tutorial, abbiamo creato un semplice script che monitora le modifiche in una directory e le registra costantemente alla console.