Я хочу запускать mysql_tzinfo_to_sql
каждый раз, когда изменяется пакет tzinfo (на сервере Ubuntu). Я полагал, что Кукольный может позаботиться об этом.
Я думал, что Puppet будет реагировать на изменение версии пакета, а если нет, то на изменение временных меток файла, содержащегося в пакете.
Единственный способ, которым я могу это сделать, - это иметь ресурс без прямого действия и иметь исполнителя в зависимости от него.
У меня есть следующие вопросы:
- Можно ли определить файл, который используется только для уведомления другого ресурса (например, exec )?
- Можно ли определить ресурс пакета, чтобы при изменении или обновлении пакета активировался другой ресурс (например, exec )?
- Можно ли определить ресурс exec, который запускает командную строку оболочки (например, с каналами и перенаправлением) вместо команды из файловой системы?
Взятые вместе, это кажется ошеломляющим.
FOLLOWUP : Фантастические ответы! В интересах полноты (и для записи) я должен отметить следующее:
- Интересует полная команда оболочки
mysql_tzinfo_to_sql | mysql -u root -p password
(она загружает tzinfo в базу данных MySQL для использования MySQL). - Аудит
/etc/tzinfo
бесполезен, поскольку это просто конфигурация местного часового пояса; цель состоит в том, чтобы следить за изменениями в самих данных tzinfo (таким образом, отслеживая/usr/share/zoneinfo
). - Аналогично, содержимое было бы неправильным, чтобы смотреть - поскольку они, вероятно, не изменятся; Лучше всего будет посмотреть mtime или все, так как времена файлов должны меняться после каждого обновления tzinfo.
Кроме того, Джеймс Тернбулл написал все об аудите, когда он был представлен. Metaparameter ссылка содержит краткое описание выработок с audit
параметром.