使用python对多个服务器进行ssh,并使用相同的后缀获取文件



我通常使用bash脚本将所有文件抓取到本地机器上,并使用glob处理所有文件。只是想知道使用python(而不是另一个bash脚本(对每个服务器进行ssh并处理这些文件的最佳方式是什么?

我当前的程序以运行

 for filename in glob.glob('*-err.txt'):
        input_open = open (filename, 'rb')
        for line in input_open:
            do something

我的文件都以-err.txt结尾,并且它们位于远程服务器中的目录具有相同的名称/documents/err/。我无法安装第三方库,因为我没有权限。

更新

我尽量不从服务器scp文件,而是在远程服务器上读取。。

我想使用本地python脚本LOCALLY来读取远程服务器上的文件。

最简单的方法是使用paramico_scp从远程服务器使用ssh复制(如何在python中scp?(

若不允许下载任何库,可以创建SSH密钥对,这样连接到服务器就不需要密码(https://www.debian.org/devel/passwordlessssh)。然后你可以为每个文件做

import os
os.system('scp user@host:/path/to/file/on/remote/machine /path/to/local/file')

请注意,使用系统通常被认为不如使用库可移植。如果您给使用系统("cp…"(复制文件的脚本,而它们没有设置SSH密钥对,则它们将遇到问题

看起来您想要远程使用本地Python脚本。这里已经回答了这个问题。

最新更新