我通常使用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脚本。这里已经回答了这个问题。