URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8808
[ Назад ]

Исходное сообщение
"grep большого файла по ssh"

Отправлено S10 , 20-Июл-10 04:24 
В общем в чем смысл, надо законектица по ссх с помощью питон-paramiko к удаленному серваку, выполнить команду, дождаца выполнения этой команды , вывести результат и завершить ссх-соединение.

Сейчас мой скрипт имеет следующий вид:

# -*- coding: utf-8 -*-
from paramiko import SSHClient
from paramiko import AutoAddPolicy
ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
host = '1.1.1.1'
ssh.connect(host, port=22, username="s", password="q")

ip = '172.16.15.65'

ssh.exec_command('cd /var/lib/dhcp')
print ssh.exec_command("cat dhcpd.log | grep '%s'" % ip)[1].read()
ssh.close()

Если грепать просто вручную то на вывод всех строк требуется примерно секунд 15.
А через вот этот скриптик выдает лишь часть и ссх-соединение закрываеца.
Помогите, как заставить скрипт ждать окончания всего грепа?


Содержание

Сообщения в этом обсуждении
"grep большого файла по ssh"
Отправлено shadow_alone , 20-Июл-10 05:17 
а что, питон это принципиально?
попробуйте через expect
или просто ssh -c

"grep большого файла по ssh"
Отправлено Xaionaro , 27-Авг-10 23:39 
Честно сказать, я (похоже как и shadow_alone) так и не понял, а зачем тут вообще python. И лично я python не пользуюсь, но похоже на то, что надо делать read() в цикле.

Однако возращаясь к "зачем python", я могу предположить, что вы его используете для того, чтобы автоматически вводить пароль. А для решения этой проблемы обычно любят использовать авторизацию по сертификатам ;)