Отправьте соответствующий файл / файл подстановки на другой сервер, используя sftp.put в Python - PullRequest
0 голосов
/ 06 марта 2020

Итак, я пытаюсь отправить определенный файл с моего локального сервера на другой сервер. Я могу отправить файл, если я знаю файл с точным именем. Но что я на самом деле хочу сделать, это подобрать файл с подходящим именем и отправить тот же файл.

Например, мое имя файла: filename_: test_file_20190918 Я хочу взять все файлы, соответствующие test_file _ *

Вот что я пытаюсь сделать, но, похоже, это не работает

import paramiko
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='host_name',username='username',password='pwd',port=22)
sftp_client=ssh.open_sftp()

sftp_client.put("/home/mylocation/test_file_*",'/incoming/test_file_send*')

sftp_client.close()
ssh.close()

1 Ответ

0 голосов
/ 06 марта 2020

Paramiko не поддерживает подстановочные знаки.

Вы должны найти нужный файл самостоятельно, прежде чем вызывать SFTPClient.put.

См. Получить отфильтрованный список файлов в каталоге .


Обязательное предупреждение: не используйте AutoAddPolicy, если только вы не заботитесь о безопасности. Таким образом вы теряете защиту от MITM-атак.
Для правильного решения см. Paramiko "Неизвестный сервер" .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...