Exemplo n.º 1
0
def thread_check():
    redis_obj = get_redis()
    data = redis_obj.hgetall('login_server')
    thread_list = []
    for key, value in data.items():
        t = threading.Thread(target=get_update, args=[key, value])
        t.start()
        thread_list.append(t)
    for t in thread_list:
        t.join()
Exemplo n.º 2
0
def thread_check():
    redis_obj = get_redis()
    data = redis_obj.hgetall('game_server')
    data2 = redis_obj.hgetall('wargame_server')
    data.update(data2)
    thread_list = []
    for key, value in data.items():
        t = threading.Thread(target=get_gamestatus, args=[key, value])
        t.start()
        thread_list.append(t)
    for t in thread_list:
        t.join()
Exemplo n.º 3
0
def check():
    res = {}
    redis_obj = get_redis()
    data = redis_obj.hgetall('login_server')
    pool = Mul_pool()
    pool_list = []
    for key, value in data.items():
        pool_list.append(pool.get_pool(get_version, key, value))
    for item in pool_list:
        res.update(item.get())
    pool.close()
    return res
Exemplo n.º 4
0
def get_update(key, value, port=2208, user="******"):
    global res
    redis_obj = get_redis()
    ssh_obj = Ssh(value, 2208, "master", redis_obj.get(value))
    try:
        ssh_obj.connect()
        result, err = ssh_obj.cmd(
            ''' grep 'Up' `ls -rt /ss/login/log/login*|tail -1` ''')
        update = result.strip()
        res[key] = update
    except Exception as e:
        res[key] = 'error'
        get_logger().error("pass is wrong")
        pass
Exemplo n.º 5
0
def modify_iptables(cmd_str,key,value,port=2208,user="******"):
    global ans
    redis_obj=get_redis()
    ssh_obj=Ssh(value,2208,user,redis_obj.hget(user,value))
    try:
        ssh_obj.connect()
        result,err=ssh_obj.cmd(cmd_str,sudo=True)
        if not err.strip():
            ans[key]='sucess'
        else:
            print err
    except Exception as e:
        ans[key]='wrong'
        pass
Exemplo n.º 6
0
def get_cron(key, value, port=2208, user="******"):
    global res
    redis_obj = get_redis()
    ssh_obj = Ssh(value, 2208, "master", redis_obj.get(value))
    try:
        ssh_obj.connect()
        result, err = ssh_obj.cmd('''cat /etc/crontab|wc -l ''', sudo=True)
        wall_num = result.strip()
        res[key] = wall_num
    except Exception as e:
        res[key] = 'wrong'
        get_logger().error("pass is wrong")
        pass
    ssh_obj.close()
Exemplo n.º 7
0
def get_version(key, value, port=2208, user="******"):
    ver = {}
    #global ver
    redis_obj = get_redis()
    ssh_obj = Ssh(value, port, user, redis_obj.get(value))
    ssh_obj.connect()
    try:
        result, err = ssh_obj.cmd('''cat /ss/login/ver|grep name ''')
        version = result.strip().split()[2]
        ver[key] = version
    except Exception as e:
        ver[key] = 'error'
        pass
    ssh_obj.close()
    return ver
Exemplo n.º 8
0
def modify_iptables(res, cmd_str, key, value, port=2208, user="******"):
    redis_obj = get_redis()
    ssh_obj = Ssh(value, 2208, user, redis_obj.hget(user, value))
    try:
        ssh_obj.connect()
        result, err = ssh_obj.cmd(cmd_str, sudo=True)
        if not err.strip():
            cmd_str = '''/etc/init.d/iptables restart '''
            result, err = ssh_obj.cmd(cmd_str, sudo=True)
            if err.strip():
                res[key] = err
            else:
                res[key] = result
    except Exception as e:
        res[key] = 'pass is wrong'
        pass
Exemplo n.º 9
0
def get_gamewall(key,value,port=2208,user="******"):
    global res
    redis_obj=get_redis()
    ssh_obj=Ssh(value,2208,user,redis_obj.get(value))
    try:
        ssh_obj.connect()    
        result,err=ssh_obj.cmd('''cat /etc/sysconfig/iptables|grep '#'|wc -l ''',sudo=True)
        wall_num=result.strip()
        if wall_num == '2':
            res[key]='open'
        else:
            res[key]='close'
    except Exception as e:
        res[key]='wrong'
        get_logger().error("pass is wrong")
        pass
Exemplo n.º 10
0
def get_gamestatus(key, value, port=2208, user="******"):
    redis_obj = get_redis()
    global res
    ssh_obj = Ssh(value, 2208, "master", redis_obj.get(value))
    try:
        ssh_obj.connect()
        result, err = ssh_obj.cmd('ps -ef|grep server|grep -v grep|wc -l')
        result = result.strip()
        if result == '6':
            res[key] = 'ok'
        else:
            res[key] = 'error'
    except Exception as e:
        res[key] = 'pass wrong'
        get_logger().error("pass is wrong")
        pass
    ssh_obj.close()
Exemplo n.º 11
0
def excute_iptables(argv):
    redis_obj = get_redis()
    p = Mul_pool()
    res = p.get_dict()
    if argv == 'gmoff':
        data = redis_obj.hgetall('smgame_server')
        for key, value in data.items():
            p.get_pool(modify_iptables, res, game_inside_cmd, key, value)
    elif argv == 'gmon':
        data = redis_obj.hgetall('smgame_server')
        for key, value in data.items():
            p.get_pool(modify_iptables, res, game_outer_cmd, key, value)
    elif argv == 'lgoff':
        data = redis_obj.hgetall('smlogin_server')
        for key, value in data.items():
            p.get_pool(modify_iptables, res, login_inside_cmd, key, value)
    elif argv == 'lgon':
        data = redis_obj.hgetall('smlogin_server')
        for key, value in data.items():
            p.get_pool(modify_iptables, res, login_outer_cmd, key, value)
    p.Close()
    get_logger('modify_iptables').info(res)
Exemplo n.º 12
0
            p.get_pool(modify_iptables, res, login_outer_cmd, key, value)
    p.Close()
    get_logger('modify_iptables').info(res)


if __name__ == '__main__':
    prompt = '''please input your choice:
1: 所有游戏对内
2: 所有游戏对外
3: 所有登录对内
4: 所有登录对外
'''
    argv = raw_input(prompt)
    p = Mul_pool()
    res = multiprocessing.Manager().dict()
    redis_obj = get_redis()
    if argv == '1':
        data = redis_obj.hgetall('smgame_server')
        for key, value in data.items():
            result = modify_iptables(game_inside_cmd, key, value)
    elif argv == '2':
        data = redis_obj.hgetall('smgame_server')
        for key, value in data.items():
            result = modify_iptables(game_outer_cmd, key, value)
    elif argv == '3':
        data = redis_obj.hgetall('smlogin_server')
        for key, value in data.items():
            result = modify_iptables(login_inside_cmd, key, value)
    elif argv == '4':
        data = redis_obj.hgetall('smlogin_server')
        for key, value in data.items():