_breeze_ 发表于 2015-01-05 10:27

pxssh批量登录报错,求帮助【已解决】

本帖最后由 _breeze_ 于 2015-01-05 10:35 编辑

代码如下:
============================
#!/usr/bin/env python
import re
import os
import sys
import smtplib
import pxssh
import getpass
from email.mime.text import MIMEText

li=[]
sender = 'root@localhost.localdomain'
receivers = ['xx@qq.com']
s = pxssh.pxssh()
ip = ['192.168.85.225','192.168.18.222']
for i in ip:
        try:
                username = 'root'
                print i
                s.login(i,username,"")
                s.sendline('cat /proc/mounts')
                s.prompt()
                f = s.before
                s.sendline('ls /OTS')
                s.sendline('exit')
                s.prompt()
                s.logout()
                flag = 0
                r = re.compile(r'((2\d|25|?\d\d?)\.){3}(2\d|25|?\d\d?)',re.I)
                for line in f.split("\n"):
                        if r.match(line):
                                remount = line.split(" ")
                                localmount = line.split(" ")
                                flag+=1
                if flag > 0:
                        pass
                else:
                        li.append(i)
        except pxssh.ExceptionPxssh,e:
                print "pxssh faild on login."
                print str(e)
if li:
        messages= '%s NFSClient down' %li
        smtpObj = smtplib.SMTP('localhost')
        smtpObj.sendmail(sender,receivers,messages)       
else:
        pass
=============================
已经做了ssh信任,运行之后报错如下:
=======================================

Traceback (most recent call last):
File "./1007_NFSCheck.py", line 19, in <module>
    s.login(i,username,"")
File "/usr/local/python2.7/lib/python2.7/site-packages/pexpect/pxssh.py", line 263, in login
    spawn._spawn(self, cmd)
File "/usr/local/python2.7/lib/python2.7/site-packages/pexpect/__init__.py", line 622, in _spawn
    assert self.pid is None, 'The pid member must be None.'
AssertionError: The pid member must be None.

_breeze_ 发表于 2015-01-05 10:32

s = pxssh.pxssh()   这句应放在 try内, ,自己写代码不严谨 .....
页: [1]
查看完整版本: pxssh批量登录报错,求帮助【已解决】