通过SSH执行远程Python脚本
我想在15台以上的远程机器上通过SSH执行一个Python脚本。在启动这个脚本或命令后,我需要断开SSH连接,但希望这些进程在后台继续运行,直到它们完成。
我之前用过Paramiko和PySSH,所以再次使用它们没有问题。我只需要知道的是,如何在Python中断开SSH连接(因为通常本地脚本会等每台远程机器处理完再继续)。
4 个回答
1
如果你需要在很多电脑上做重复性的工作,比如安装软件和运行设置脚本,那你可以考虑使用像Fabric这样的工具。
Fabric是一个Python(2.5或更高版本)库和命令行工具,主要用来简化通过SSH进行应用部署或系统管理的过程。
它提供了一些基本的操作,可以用来执行本地或远程的命令(可以是普通命令,也可以是用sudo权限的命令),还可以上传和下载文件。此外,它还有一些辅助功能,比如可以提示用户输入信息,或者在需要的时候中止执行。
通常的使用方法是创建一个包含一个或多个函数的Python模块,然后通过fab命令行工具来执行这些函数。
4
在Linux电脑上,你可以用'at'命令来运行脚本。
你只需要输入这条命令:echo "python scriptname.py" ¦ at now
35