[Màj] script d'action automatique après modification de fichiers et présentation de Watcher
Suite au précédent billet sur comment sauvegarder sa configuration automatiquement en combinant git et incrond. Voici une petite mise à jour du procédé, le précédent étant bugger pouvant même mener à une surcharge de la machine avec des OOM à la clé |o/.
Plusieurs problème au script donc, notamment quand des accès successifs et rapprochés sont fais à certains fichiers binaires menant à une cascade, de processus git créer pour commiter et pull les changements dans les dépôts clones. Ou encore des boucles d’un service qui démarre donc écrit dans un fichier qui fait redémarrer le service qui réécrit dans le fichier qui redémarre le service…
Donc au programme, ajout d’une gestion sommaire de lock pour éviter un empilement de commande, relance de service uniquement si le service est up depuis quelques temps (réglé sur une seconde pour l’instant).
Et nouveauté, changement du gestionnaire de notification des accès fichiers par un changement de incrond vers watcher. Un script python basé sur pyinotify qui permet la récursivité dans une arborescence. Incrond devenait ingérable sans récursivité.
J’ai effectué un petit hack sur watcher permettant de spécifier des exclusions de watch.
Le script incron_action.sh peut être trouvé sur gitorious, ici.
Et le script watcher basé sur un travail de Greggory Hernandez modifié par Andreas Gohr, qui lui as retiré sa dépendance au fichier de conf YAML. J’ai effectué un patch en attente de validation par Andreas Gohr dans son dépôt. En attendant, n’hésitez pas à le prendre sur mon dépôt.