<p><span style="font-size: small;"><span style="font-size: x-small;"><span style="">在安装之前,确认你的机器安装了</span><span lang="EN-US"><span style="font-family: Calibri;">python,</span></span><span style="">和</span><span lang="EN-US"><span style="font-family: Calibri;">easy_install.</span></span><span style="">通常</span><span lang="EN-US"><span style="font-family: Calibri;">python</span></span><span style="">是自动安装的,如果没有安装</span><span lang="EN-US"><span style="font-family: Calibri;">easy_install</span></span><span style="">,那么</span></span></span><span lang="EN-US"><span style="font-size: small; font-family: Calibri;"><span style="font-size: x-small;">wget -q </span></span><a href="http://peak.telecommunity.com/dist/ez_setup.py"><span style="font-size: small; font-family: Calibri;"><span style="font-size: x-small;">http://peak.telecommunity.com/dist/ez_setup.py</span></span></a><span style="font-size: small; font-family: Calibri;"><span style="font-size: x-small;"> </span></span></span><span style=""><span style="font-size: small;"><span style="font-size: x-small;">获取一下</span></span></span></p>
<p><span lang="EN-US"><span style="font-size: small; font-family: Calibri;"><span style="font-size: x-small;">python ez_setup.py</span></span></span></p>
<p><span style="font-size: small; font-family: Arial;">pexpect是python一个模块,可以通过:<strong>easy_install pexpect</strong> 来安装。<br><br>这里主要是用pexpect执行ssh,查看远程uptime和df -h看硬盘状况。</span></p>
<p></p>
<p><strong><span style="font-size: small; font-family: Arial;">#ssh_cmd.py<br>#coding:utf-8<br><br>import pexpect<br><br>def ssh_cmd(ip, user, passwd, cmd):<br> ssh = pexpect.spawn('ssh %s@%s "%s"' % (user, ip, cmd))<br> r = ''<br> try:<br> i = ssh.expect(['password: ', 'continue connecting (yes/no)?'])<br> if i == 0 :<br> ssh.sendline(passwd)<br> elif i == 1:<br> ssh.sendline('yes')<br> except pexpect.EOF:<br> ssh.close()<br> else:<br> r = ssh.read()<br> ssh.expect(pexpect.EOF)<br> ssh.close()<br> return r<br><br>hosts = '''<br>192.168.0.12:smallfish:1234:df -h,uptime<br>192.168.0.13:smallfish:1234:df -h,uptime<br>'''<br><br>for host in hosts.split("/n"):<br> if host:<br> ip, user, passwd, cmds = host.split(":")<br> for cmd in cmds.split(","):<br> print "-- %s run:%s --" % (ip, cmd)<br> print ssh_cmd(ip, user, passwd, cmd)</span></strong></p>
<p><span lang="EN-US"><span style="font-size: small; font-family: Calibri;"><span style="font-size: x-small;">python ez_setup.py</span></span></span></p>
<p><span style="font-size: small; font-family: Arial;">pexpect是python一个模块,可以通过:<strong>easy_install pexpect</strong> 来安装。<br><br>这里主要是用pexpect执行ssh,查看远程uptime和df -h看硬盘状况。</span></p>
<p></p>
<p><strong><span style="font-size: small; font-family: Arial;">#ssh_cmd.py<br>#coding:utf-8<br><br>import pexpect<br><br>def ssh_cmd(ip, user, passwd, cmd):<br> ssh = pexpect.spawn('ssh %s@%s "%s"' % (user, ip, cmd))<br> r = ''<br> try:<br> i = ssh.expect(['password: ', 'continue connecting (yes/no)?'])<br> if i == 0 :<br> ssh.sendline(passwd)<br> elif i == 1:<br> ssh.sendline('yes')<br> except pexpect.EOF:<br> ssh.close()<br> else:<br> r = ssh.read()<br> ssh.expect(pexpect.EOF)<br> ssh.close()<br> return r<br><br>hosts = '''<br>192.168.0.12:smallfish:1234:df -h,uptime<br>192.168.0.13:smallfish:1234:df -h,uptime<br>'''<br><br>for host in hosts.split("/n"):<br> if host:<br> ip, user, passwd, cmds = host.split(":")<br> for cmd in cmds.split(","):<br> print "-- %s run:%s --" % (ip, cmd)<br> print ssh_cmd(ip, user, passwd, cmd)</span></strong></p>