服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Puppet:文件(或包)更新时运行shell命令

每当tzinfo软件包(在Ubuntu服务器上)发生变化时,我想运行mysql_tzinfo_to_sql 。 我想木偶可以照顾这个。 我以为Puppet会对软件包版本的变化做出反应,如果不是的话,那么对包中包含的文件的时间戳进行更改。 我能看到做到这一点的唯一方法是有一个没有直接行动的资源,并有一个执行取决于它。 我有的问题是: 是否可以定义仅用于通知其他资源(如exec )的文件? 是否可以定义一个包资源,以便在包更改或更新时激活另一个资源(如exec )? 是否可以定义一个运行shell命令行的exec资源(例如pipe道和redirect)而不是文件系统的命令? 综合起来,这似乎是压倒性的。 跟随 :神奇的答案! 为了完整性(和logging),我应该注意以下几点: 完整的shell命令是mysql_tzinfo_to_sql | mysql -u root -p password mysql_tzinfo_to_sql | mysql -u root -p password (它将tzinfo加载到MySQL数据库中供MySQL使用)。 审计/etc/tzinfo将是徒劳的,因为这仅仅是本地时区configuration; 目标是监视tzinfo数据本身的变化(从而监视/usr/share/zoneinfo )。 同样,内容将是错误的观看 – 因为他们可能不会改变; 最好的办法是观看mtime或全部,因为在每次tzinfo更新后,文件时间应该改变。 此外,詹姆斯·特恩布尔在介绍审计时写下了所有关于审计的内容。 “元参数参考”包含audit参数工作的简短说明。