如何使用Python访问另一台服务器?

如何使用Python访问另一台服务器?

问题描述:

我有两台服务器,并且每15分钟更新一个DNSBL的100k域名。我想通过一个Python脚本通过Safebrowsing,Siteadvisor和其他服务的信息来处理这些域。不幸的是,DNSBL服务器相当慢。有没有一种方法可以在Python中通过SSH从另一台服务器上传输文件?如何使用Python访问另一台服务器?

如果只是传输的文件(和目录),为什么不使用rsync而不是ssh(也许是在bash脚本中)。成熟的方法。

或者您可以使用sshfs(fuse)将远程文件系统(通过ssh)挂载到您自己的文件系统中,然后使用pyrobocopy(在Python中实现基本版本的rsync功能)来传输文件。

如果你不需要增量复制,你可以走简单的路线:使用sshfs挂载远程文件系统(上面的链接),然后使用shutil.copytree复制正确的目录。

还有另一种选择:使用paramiko Python ssh模块实现它。

+0

有什么办法可以用python标准库做到这一点吗? – Tom 2010-07-01 21:56:02

+0

那么'paramiko'是纯python,这是最接近你会得到我想(不必重新实现所有ssh连接功能)。 – ChristopheD 2010-07-01 21:57:56

有一个叫做pexpect的模块,这很不错。

这可以让你ssh,telnet等。它也支持ftp可能在传输文件中很方便。