关于修复 puppet agent 因为网络不好而时不时 administratively disabled 的问题

2013-10-14 22:11:30 +08:00
 Livid
以下为大概思路,可以用各种语言实现。

在 crontab 中每 4 小时检查一次 /var/lib/puppet/state/puppetdlock 这个文件是否存在 [1],如果存在,获得其 mtime,如果 mtime 和当前时间已经差了一个小时以上(没有理由单次运行会超过 1 个小时),那就:

service puppet stop
puppet agent --enable
puppet agent --test

当然,需要加入保证 Service['puppet'] 一直运行,这样当 --test 的时候,除了会完成同步之外,也就可以重新启动 puppet agent daemon。

[1] http://projects.puppetlabs.com/issues/3757
7234 次点击
所在节点    Puppet
3 条回复
Livid
2013-12-07 04:12:06 +08:00
其实一个更粗暴但是有效的方式是:

ps -ef | grep puppet | grep -v grep | awk '{print $2}' | xargs kill -9
puppet agent --enable
puppet agent --test
julyclyde
2013-12-07 10:51:56 +08:00
一个锁文件,复用俩语义?
efi
2013-12-08 12:12:05 +08:00
@Livid 不能直视。请用pkill -9 puppet。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/85596

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX