Я хотел бы импортировать данные с разных серверов, я использовал pysftp, но он работает только тогда, когда я делаю ssh на сервер и затем запускаю свой скрипт.
Я бы хотел импортировать данные с разных серверов одновременно, используя fabric или pysftp, если это возможно. Я подготовил документацию ткани и не нашел пути к этому. Жду ваших предложений или таких же примеров.
Пример
*
from fabric.api import*
filename = 'path/ip_address.txt'
while True:
with open(filename) as f:
data = f.readlines()
env.hosts= data
env.user= "usr"
env.password="pwd"
get("~/path/*.xml","localpath/pm_xml")
используя этот скрипт, я получил сообщение об ошибке Хосты не найдены. Пожалуйста, укажите (одну) строку хоста для подключения!
и когда я использую paramiko этот скрипт:
import paramiko
import os
filename = "/home/test/Desktop/ip_address.txt"
with open(filename) as f:
data = f.readlines()
while True:
for ipAddr in data:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ipAddr,username="usr",password="pwd")
sftp = ssh.open_sftp()
for element in sftp.listdir("server_path"):
if element.endswith(".xml"):
try:
sftp.get("server_path"+element,"/home/test/Documents/pm_xml/"+element)
except:
print(Exception)
sftp.close()
ssh.close()
используя paramiko, я могу получить только один файл в секунду, но каждый сервер генерирует 100 файлов каждую минуту.
my ip_address.txt содержит IP-адрес:
11.11.11.11
22.22.22.22
33.33.33.33
Любые предложения для одновременного получения доступа к другому серверу и быстрого импорта данных.