def remote_server_dispatch(child, file_name, servers): for server in servers: server_info = serverlist.get_product_server(server) if server_info is None: utility.pexit("there isn't server named " + server) child.sendline( "scp " + file_name + " " + server_info.user + "@" + server_info.host + ":" + server_info.tmpPath + "/" + file_name) index = child.expect("assword") if index == 0: child.sendline(server_info.password) index = child.expect("[$#]") print(file_name + " has dispatch to " + server_info.host) if index != 0: utility.pexit("error occur when dispatch file to " + server_info.host) else: utility.pexit("error occur when dispatch file to " + server_info.host)
def param_check(argv): usage = "usage: %prog [options] arg" parser = OptionParser(usage) parser.add_option("-f", "--file", dest="filename", help="transfer the file to remote server") parser.add_option("-c", "--conf", dest="config", help="the server conf file") parser.add_option("-l", "--lan-servers", dest="lan_servers", help="use lan servers to speed scp, eg:server1,server2[,server_n]") parser.add_option("-d", "--destination-servers", dest="dest_servers", help="destination that file would be upload. eg:server1[,server_n]") parser.add_option("-u", "--user", dest="user", help="email user name, eg:[email protected]") parser.add_option("-p", "--password", dest="password", help="email password") parser.add_option("-H", "--host", dest="pop3", help="pop3 server host name, eg:pop3.xunlei.com") (option, args) = parser.parse_args(argv) if option.filename is None or option.config is None or option.dest_servers is None \ or option.user is None or option.password is None or option.pop3 is None: parser.error("\nIncorrect number of arguments. \nUse option \'--help\'.") filename = option.filename if not os.path.exists(filename) or not os.path.isfile(filename): utility.pexit("File \"" + filename + "\" is not a file or not exist.") config = option.config if not os.path.exists(config) or not os.path.isfile(config): utility.pexit("File \"" + config + "\" is not a file or not exist.") serverlist.load_config(config) lan_servers = [] if option.lan_servers is not None: lan_servers = option.lan_servers.split(',') for name in lan_servers: info = serverlist.get_lan_server(name) if info is None: utility.pexit("server \"" + name + "\" is not exist") product_servers = option.dest_servers.split(',') for server_name in product_servers: info = serverlist.get_product_server(server_name) if info is None: utility.pexit("server \"" + server_name + "\" is not exist") return filename, lan_servers, product_servers, option.user, option.password, option.pop3
def login(name): if name == "essh": jump = serverlist.get_jump_server() child = auto_login_essh(jump) return child else: server = serverlist.get_lan_server(name) if server is not None: child = login_server(server) return child server = serverlist.get_product_server(name) if server is not None: jump = serverlist.get_jump_server() child = auto_login_essh(jump) child = jump_login(child, server) return child utility.pexit("server \"" + name + "\" not exists.")
def login(name): if name == "essh": jump = serverlist.get_jump_server() child = auto_login_essh(jump) return child else: server = serverlist.get_lan_server(name) if server is not None: child = login_server(server) return child server = serverlist.get_product_server(name) if server is not None: jump = serverlist.get_jump_server() child = auto_login_essh(jump) child = jump_login(child, server) return child utility.pexit('server "' + name + '" not exists.')
def remote_server_dispatch(child, file_name, servers): for server in servers: server_info = serverlist.get_product_server(server) if server_info is None: utility.pexit("there isn't server named " + server) child.sendline("scp " + file_name + " " + server_info.user + "@" + server_info.host + ":" + server_info.tmpPath + "/" + file_name) index = child.expect("assword") if index == 0: child.sendline(server_info.password) index = child.expect("[$#]") print(file_name + " has dispatch to " + server_info.host) if index != 0: utility.pexit("error occur when dispatch file to " + server_info.host) else: utility.pexit("error occur when dispatch file to " + server_info.host)
def param_check(argv): usage = "usage: %prog [options] arg" parser = OptionParser(usage) parser.add_option("-f", "--file", dest="filename", help="transfer the file to remote server") parser.add_option("-c", "--conf", dest="config", help="the server conf file") parser.add_option( "-l", "--lan-servers", dest="lan_servers", help="use lan servers to speed scp, eg:server1,server2[,server_n]") parser.add_option( "-d", "--destination-servers", dest="dest_servers", help="destination that file would be upload. eg:server1[,server_n]") parser.add_option("-u", "--user", dest="user", help="email user name, eg:[email protected]") parser.add_option("-p", "--password", dest="password", help="email password") parser.add_option("-H", "--host", dest="pop3", help="pop3 server host name, eg:pop3.xunlei.com") (option, args) = parser.parse_args(argv) if option.filename is None or option.config is None or option.dest_servers is None \ or option.user is None or option.password is None or option.pop3 is None: parser.error( "\nIncorrect number of arguments. \nUse option \'--help\'.") filename = option.filename if not os.path.exists(filename) or not os.path.isfile(filename): utility.pexit("File \"" + filename + "\" is not a file or not exist.") config = option.config if not os.path.exists(config) or not os.path.isfile(config): utility.pexit("File \"" + config + "\" is not a file or not exist.") serverlist.load_config(config) lan_servers = [] if option.lan_servers is not None: lan_servers = option.lan_servers.split(',') for name in lan_servers: info = serverlist.get_lan_server(name) if info is None: utility.pexit("server \"" + name + "\" is not exist") product_servers = option.dest_servers.split(',') for server_name in product_servers: info = serverlist.get_product_server(server_name) if info is None: utility.pexit("server \"" + server_name + "\" is not exist") return filename, lan_servers, product_servers, option.user, option.password, option.pop3