我目前在Paramiko周围有自己的一组包装器,一些函数可以在命令执行时记录输出,重新启动一些服务器,传输文件等。然而,我觉得我在重新发明轮子,这些东西应该已经存在了。
我研究过Fabric,它部分地提供了这一点,但它的执行模型会迫使我重写很大一部分代码,特别是因为它在全局变量中共享关于主机的信息,并且似乎最初并不打算用作一个库。
最好,每个服务器应该由一个对象表示,这样我就可以保存它的状态,并使用类似server.run("uname -a")的东西运行命令,提供一些基本的工具,如重新启动,检查连接,传输文件,理想情况下甚至给我一些简单的方法来在服务器的子集上并行运行命令。
是不是已经有一些库提供了这个功能?
发布于 2013-10-09 02:40:56
看看Ansible:“最小的ssh命令和控制”。根据他们的描述:“Ansible是一个非常简单的配置管理、部署、任务执行和多节点编排框架”。
发布于 2013-10-09 06:06:25
Fabric 2.0 (目前正在开发中)可能会与您的想法类似。
https://stackoverflow.com/questions/19251737
复制相似问题