亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: pexpect通過(guò)ssh執(zhí)行遠(yuǎn)程命令 [打印本頁(yè)]

作者: smallfish_xy    時(shí)間: 2009-08-17 15:50
標(biāo)題: pexpect通過(guò)ssh執(zhí)行遠(yuǎn)程命令
原文參見(jiàn):http://hi.baidu.com/smallfish_xy ... 5a86202cf53447.html

pexpect是python一個(gè)模塊,可以通過(guò):easy_install pexpect 來(lái)安裝。

這里主要是用pexpect執(zhí)行ssh,查看遠(yuǎn)程uptime和df -h看硬盤狀況。

  1. #ssh_cmd.py
  2. #coding:utf-8

  3. import pexpect

  4. def ssh_cmd(ip, user, passwd, cmd):
  5.     ssh = pexpect.spawn('ssh %s@%s "%s"' % (user, ip, cmd))
  6.     r = ''
  7.     try:
  8.         i = ssh.expect(['password: ', 'continue connecting (yes/no)?'])
  9.         if i == 0 :
  10.             ssh.sendline(passwd)
  11.         elif i == 1:
  12.             ssh.sendline('yes')
  13.     except pexpect.EOF:
  14.         ssh.close()
  15.     else:
  16.         r = ssh.read()
  17.         ssh.expect(pexpect.EOF)
  18.         ssh.close()
  19.     return r

  20. hosts = '''
  21. 192.168.0.12:smallfish:1234:df -h,uptime
  22. 192.168.0.13:smallfish:1234:df -h,uptime
  23. '''

  24. for host in hosts.split("\n"):
  25.     if host:
  26.         ip, user, passwd, cmds = host.split(":")
  27.         for cmd in cmds.split(","):
  28.             print "-- %s run:%s --" % (ip, cmd)
  29.             print ssh_cmd(ip, user, passwd, cmd)
復(fù)制代碼


hosts數(shù)組格式是:主機(jī)IP:用戶名:密碼:命令 (多個(gè)命令用逗號(hào), 隔開)
可以看出打印出相應(yīng)的結(jié)果了,可以拼成html發(fā)送mail看起來(lái)比較美觀些咯!
作者: thsniperwolf    時(shí)間: 2009-08-18 14:12
借鑒了




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2