Je veux exécuter mysql_tzinfo_to_sql
chaque fois que le paquet tzinfo (sur Ubuntu Server) change. J'ai pensé que Puppet pouvait s'en occuper.
Je pensais que Puppet réagirait à un changement dans la version du package, ou sinon, à un changement d'horodatage d'un fichier contenu dans le package.
La seule façon pour moi de le faire est d'avoir une ressource sans action directe et d'avoir un exécutable en fonction.
Mes questions sont les suivantes:
- Est-il possible de définir un fichier qui n'est utilisé que pour notifier une autre ressource (telle que exec )?
- Est-il possible de définir une ressource de package de sorte qu'une autre ressource (telle que exec ) soit activée lorsque le package change ou se met à jour?
- Est-il possible de définir une ressource exec qui exécute une ligne de commande shell (avec des pipes et redirection par exemple) au lieu d'une commande du système de fichiers?
Dans l'ensemble, cela semble écrasant.
SUIVI : réponses fantastiques! Dans un souci d'exhaustivité (et pour mémoire), je dois noter ce qui suit:
- La commande shell complète d'intérêt est
mysql_tzinfo_to_sql | mysql -u root -p password
(elle charge tzinfo dans une base de données MySQL pour MySQL). - L'audit de
/etc/tzinfo
serait inutile car il s'agit simplement de la configuration du fuseau horaire local; l'objectif est de surveiller les changements dans les données tzinfo elles-mêmes (donc l'observation de/usr/share/zoneinfo
). - De même, le contenu ne serait pas la bonne chose à regarder - car il est probable qu'il ne changera pas; le mieux serait de regarder le mtime ou tout car les filetimes devraient changer après chaque mise à jour de tzinfo.
En outre, James Turnbull a tout écrit sur l'audit lors de son introduction. La référence du métaparamètre contient une brève description du fonctionnement du audit
paramètre.