J'ai un script qui scanne un répertoire et fait une maintenance sur les fichiers qu'il contient. Un autre processus crée les fichiers dans le répertoire (10 à 30 fichiers par jour).
Le script est appelé via une tâche cron quotidienne. Ce dont j'ai besoin, c'est de déclencher le script sur un événement (à chaque fois qu'un nouveau fichier est créé dans le répertoire). Je préfère cela plutôt que d'augmenter la fréquence de la tâche cron.
Comment puis je faire ça? y a-t-il une commande ou un programme à installer?
Merci d'avance pour votre aide.
la source
incron
, celui-inoticoming
ci est ici .Il y a aussi un petit programme appelé
iwatch
- voir la page de manuel (cette page est pour Ubuntu précise (12.04), elle a des liens vers d'autres versions d'ubuntu).iwatch
a la capacité de surveiller les dossiers de manière récursive (c'est-à-dire: les sous-dossiers aussi) et d'envoyer des e-mails en réponse aux événements de fichiers / répertoires.la source
Un autre utilitaire à savoir est
fileschanged
( page de manuel ici ), qui peut surveiller l'événement du système de fichiers sur les fichiers ou répertoires sélectionnés, par exemple la commande suivantedoit surveiller le répertoire actuel pour les événements de création de fichiers, en écrivant le nom du fichier créé
stdout
avec un délai d'attente de 1 s.fileschanged
peut regarder les dossiers récursivement (comme cela peutiwatch
être noté dans une autre réponse), contrairement àincron
etinoticoming
.la source
la page de manuel inotify se trouve là
si vous préférez les scripts python, vous pouvez utiliser pyinotify
la source