Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python2.7自动化远程服务器上的作业_Python_Mysql_Python 2.7_Ssh_Automation - Fatal编程技术网

使用python2.7自动化远程服务器上的作业

使用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

我需要制作一个python脚本来按顺序执行这些步骤,但我不确定如何设置这些步骤

  • SSH到服务器中

  • 将文件夹从点a复制到点B(cp/foo/bar/folder1/foo/folder2)

  • mysql-u root-pfoobar(此数据库只能从localhost访问)

    创建一个数据库,在mysql控制台中执行其他一些mysql操作

  • 用文件foobar中的Bar替换Foo实例

  • 复制和编辑文件

  • 重新启动服务

事实上,我必须通过ssh连接到服务器,然后执行所有这些操作,这让我非常困惑。我查看了Fabric库,但它似乎一次只执行一个命令,并且没有保留以前命令的上下文

我查看了Fabric库,但它似乎一次只执行一个命令,并且没有保留以前命令的上下文

多看看面料。这可能仍然是你想要的

有很多很好的例子


通过“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'”,它应该可以工作。令人惊叹的。