2 votes

Contrôler les changements dans les dossiers et prendre immédiatement des mesures en conséquence.

Comment puis-je constamment surveiller les changements dans un (petit) fichier ?

Par exemple, lorsque le fichier est mis à jour (action de l'application web), un script est exécuté (s'il n'est pas déjà en cours d'exécution).

Pour l'instant, je le fais toutes les minutes en utilisant cron, mais cela a retardé jusqu'à une minute. J'aimerais que l'action soit effectuée immédiatement après la modification du fichier.

Peut-être dois-je écrire un processus de bas niveau fonctionnant en arrière-plan, une fois que le serveur est lancé ?

La raison pour laquelle je veux le faire est de séparer l'application web des actions de la racine (exécutées à la demande, une fois lorsque le fichier est mis à jour).

3voto

Benjamin Mosior Points 91

Incrond (inotify cron daemon) se comporte comme cron mais utilise inotify comme mécanisme de déclenchement. Ce guide contient des exemples assez complets.

Un exemple d'entrée incron pour le cas que vous avez décrit pourrait être :

/path/to/file IN_CLOSE_WRITE /path/to/your_script

1voto

user207785 Points 11

Incron est le logiciel que vous recherchez.

0voto

Tero Kilkanen Points 32968

Si vous utilisez Linux, comme je suppose que c'est le cas, alors vous pouvez compter sur Linux inotify mécanisme qui notifie les processus de l'espace utilisateur lorsque des fichiers sont modifiés.

LSyncd est un programme construit autour de cette fonctionnalité, que vous pouvez configurer pour exécuter des commandes arbitraires lorsque des fichiers sont modifiés.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X