Example #1
0
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)
Example #2
0
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
Example #3
0
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.")
Example #4
0
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.')
Example #5
0
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)
Example #6
0
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