我正在使用func在我们的服务器上执行并行命令。
前几天,我们遇到了一个问题,当puppet
via 的服务重新启动func
使我们所有的服务器同时受到攻击puppetmaster
时。
我的问题:如何在一组服务器上执行相同的确切命令,同时增加在各个服务器上执行之前的延迟?
例如: random_delay && service puppet restart
我对random_delay
命令部分很感兴趣。
我正在使用func在我们的服务器上执行并行命令。
前几天,我们遇到了一个问题,当puppet
via 的服务重新启动func
使我们所有的服务器同时受到攻击puppetmaster
时。
我的问题:如何在一组服务器上执行相同的确切命令,同时增加在各个服务器上执行之前的延迟?
例如: random_delay && service puppet restart
我对random_delay
命令部分很感兴趣。
Answers:
sleep $((RANDOM % MAXWAIT))
其中MAXWAIT是所需的最大延迟,以秒为单位。
sleep $((RANDOM % MAXWAIT))
是正确的方法。我将这样编辑答案。
fqdn_rand
。
dash
echo sleep $((RANDOM % 900))
回报sleep 0
。这意味着在#!/bin/sh
脚本或crontab之类的地方使用它是不安全的。(问题似乎是dash
无法理解的$RANDOM
)
我非常喜欢S19N的创新型解决方案,但还不够理想。我只说这不是理想的,因为什么时候实际发生还是很大的不确定性。我宁愿能够保证何时发生什么事情,何时发生什么事情。
木偶编排实际上是一个很难的问题。
“最佳实践”解决方案之一是使用MCollective,它不仅使您可以配置人偶在计算机集群上运行的时间,还可以将其用于其他类似的编排问题。