我需要制作一个python脚本,按顺序执行这些步骤,但我不确定如何设置它。
SSH进入服务器
将文件夹从A点复制到B点(cp / foo / bar / folder1 / foo / folder2)
mysql -u root -pfoobar(此数据库只能从localhost访问)
创建一个数据库,在mysql控制台中做一些其他的mysql工作
用文件foobar中的Bar替换Foo的实例
复制和编辑文件
重新启动服务
事实上,我必须ssh到服务器,然后所有这一切真的让我很困惑。我查看了Fabric库,但这似乎一次只执行1个命令,并且不保留以前命令的上下文。
答案 0 :(得分:1)
我查看了Fabric库,但这似乎一次只执行1个命令,并且不保留以前命令的上下文。
更多地了解Fabric。它可能仍然是你想要的。
This page有很多很好的例子。
通过“上下文”我假设您希望能够cd
进入另一个目录并从那里运行命令。这就是fabric.context_managers.cd
的用途 - 在该页面上搜索它。
答案 1 :(得分:1)
听起来您正在进行某种远程部署/配置。有一整套工具专业地设置它,看看Chef和Puppet。
或者,如果您只是想要快速简便地编写一些远程命令的脚本,那么pexpect可以做您所需要的。
Pexpect是一个纯Python模块,用于生成子应用程序;控制他们;并回应其产出中的预期模式。
我自己没有使用它,但快速浏览一下它的手册表明它可以正常使用SSH会话:https://pexpect.readthedocs.org/en/latest/api/pxssh.html
答案 2 :(得分:1)