使用python2.7自动化远程服务器上的作业
我需要制作一个python脚本来按顺序执行这些步骤,但我不确定如何设置这些步骤使用python2.7自动化远程服务器上的作业,python,mysql,python-2.7,ssh,automation,Python,Mysql,Python 2.7,Ssh,Automation,我需要制作一个python脚本来按顺序执行这些步骤,但我不确定如何设置这些步骤 SSH到服务器中 将文件夹从点a复制到点B(cp/foo/bar/folder1/foo/folder2) mysql-u root-pfoobar(此数据库只能从localhost访问) 创建一个数据库,在mysql控制台中执行其他一些mysql操作 用文件foobar中的Bar替换Foo实例 复制和编辑文件 重新启动服务 事实上,我必须通过ssh连接到服务器,然后执行所有这些操作,这让我非常困惑。我查看了Fa
- SSH到服务器中
- 将文件夹从点a复制到点B(cp/foo/bar/folder1/foo/folder2)
- mysql-u root-pfoobar(此数据库只能从localhost访问) 创建一个数据库,在mysql控制台中执行其他一些mysql操作
- 用文件foobar中的Bar替换Foo实例
- 复制和编辑文件
- 重新启动服务
通过“context”,我假设您希望能够
cd
进入另一个目录并从那里运行命令。这就是fabric.context\u managers.cd
的目的——在该页面上搜索它。听起来像是在进行某种远程部署/配置。有一整套的工具可以专业地设置,比如厨师和木偶
或者,如果您只是在寻找编写一些远程命令脚本的快速简便方法,那么pexpect可能可以满足您的需要
Pexpect是一个纯Python模块,用于生成子应用程序;控制它们;并对其输出中的预期模式做出响应
我自己并没有使用过它,但快速浏览一下它的手册,就会发现它可以与SSH会话一起工作。很好:我从未使用过Fabric 我解决这些问题的方法(在开始使用saltstack之前)是使用ssh连接和所有需要的命令。 也许使用一系列sql脚本来处理数据库(只是为了简化)会有所帮助 另一种方法是,由于您需要使用ssh访问远程服务器,因此它将用于远程连接和执行命令。当您想查看stdout上发生的事情时,情况会复杂一些(而使用pexpect,您将确切地看到发生了什么)
但这取决于你真正需要什么 哦,那真的很酷。mysql怎么样?运行“mysql-uroot”将打开一个新的mysql控制台,等待您输入命令。不知道该怎么处理。你能不能按下一个按钮并执行它?我认为这实际上是完美的。我将运行1命令“mysql-u root-e'sql stuff'”,它应该可以工作。令人惊叹的。