簡體   English   中英

使用python ssh進入多個服務器並使用相同的后綴獲取文件

[英]Using python to ssh into multiple servers and grab the file with the same postfix

我通常使用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腳本本地讀取遠程服務器上的文件。

最簡單的方法是使用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')

請注意,使用系統通常被認為比使用庫的移植性差。 如果您提供使用system('scp ...')復制文件的腳本,但它們沒有設置SSH密鑰對,則它們將遇到問題

看起來您想遠程使用本地Python腳本。 這里已經回答了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM