远程登录多台服务器执行其上脚本,远程登录多台,#!/usr/bin/p
文章由Byrx.net分享于2019-03-23 09:03:24
远程登录多台服务器执行其上脚本,远程登录多台,#!/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
评论关闭