码迷,mamicode.com
首页 > 系统相关 > 详细

paramiko 登录linux主机后执行tail后返回数据不完整解决方法。

时间:2016-08-01 12:14:39      阅读:748      评论:0      收藏:0      [点我收藏+]

标签:

 1 def get_sql_log(host,port,user,password,key_words,out_put_filename):
 2     commond=cd crm-app/;./tailall.sh | grep %s%key_words
 3     s = paramiko.SSHClient()
 4     s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 5     s.connect(host,port,user,password)
 6     transport=s.get_transport()
 7     channel = transport.open_session()
 8     channel.get_pty()
 9     channel.exec_command(commond)
10     print command %s%commond
11    # print ‘%s‘ % (str(host))
12     f=open(out_put_filename,a+)
13 
14    # f.write(str(dir(s)))
15     while 1:
16         if channel.exit_status_ready():
17             break
18         try:
19             rl,wl,xl=select.select([channel],[],[],1)
20             #print rl
21             if len(rl)>0:
22                 recv=channel.recv(65536)
23                 print recv
24                 #print recv
25                 #f.seek(2)
26                 f.write(str(recv))
27                 f.flush()
28 
29         except KeyboardInterrupt:
30             print("Caught control-C")
31             channel.close()
32             try:
33                 # open new socket and kill the proc..
34                 s.get_transport().open_session().exec_command(
35                     "pkill -9 tail"
36                 )
37             except:
38                 pass
39             s.close()
40             f.close()
41             exit(0)

之前没有加入   channel.get_pty() ,这个一直返回的信息不完整。

官方文档这样描述:
get_pty(*args, **kwds)

Request a pseudo-terminal from the server. This is usually used right after creating a client channel, to ask the server to provide some basic terminal semantics for a shell invoked with invoke_shell. It isn’t necessary (or desirable) to call this method if you’re going to exectue a single command with exec_command.

 

paramiko 登录linux主机后执行tail后返回数据不完整解决方法。

标签:

原文地址:http://www.cnblogs.com/leomo/p/5724909.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!