如何在许多服务器上同时执行命令
问题描述:
我有一个需要30秒才能完成的功能。如何在许多服务器上同时执行命令
def reload():
sudo("service apache2 reload")
该功能必须同时在400台服务器上运行。由于我需要尽快完成此步骤,因此我不想连续执行。有什么方法可以用来做到这一点?
答
你可以用 “布” 一个Python库
安装布:
$ pip install fabric
样品晶圆厂脚本:
from fabric.api import *
env.hosts = ['host1', 'host2',...,'host400']
@parallel
def reload():
sudo("service apache2 reload")
并执行一组400台服务器并行,如下所示:
$ fab -H -P reload
更好的配置格子布docs.
+0
尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – Max
+1
@Max感谢您的提升。我已经编辑了一些链接页面更改的情况下对其有最少理解 –
你能重新制定你的问题,使我们能够更好地了解你到底想要什么?你试过什么了? –