远程登录多台服务器执行其上脚本,远程登录多台,#!/usr/bin/p


#!/usr/bin/python#-*- coding:utf-8 -*-import sys, time, ostry:    import pexpectexcept ImportError:    print """         You must install pexpect module    """    sys.exit(1)addr_map = {    'server_1' : ('sunbx@192.168.8.91', 'sunbx'),}cmd_map = {    'huitui':"/home/sunbx/path/server/workspace/project/.script/huitui.sh",    'fabu' : "/home/sunbx/path/server/workspace/project/.script/fabu.sh",} if len(sys.argv) != 2:    sys.stderr.write("Usage: python %s cmd \\n" % sys.argv[0])    raise SystemExit(1)cmd_output_map = {}for key in addr_map:    try:        cmd_key = sys.argv[1]    cmd     = cmd_map[cmd_key]    except:        sys.stderr.write("Usage: python %s cmd \\n" % sys.argv[0])        print """             cmd: huitui or fabu     """        raise SystemExit(1)    server = pexpect.spawn('ssh %s' % addr_map[key][0])   # server.expect('.*yes/no.*')   # server.sendline("yes")    server.expect('.*ssword:')    server.sendline(addr_map[key][1])    command_output = pexpect.run ('bash %s' % cmd)    server.sendline("quit")    cmd_output_map[key] = command_outputfor key in cmd_output_map:    print cmd_output_map[key] + key#该片段来自于http://byrx.net

评论关闭