def asset_update(self, id_list): # time.sleep(20) #测试下阻塞 server_list = [] # 检查下状态,是true的话直接推送资产 with DBContext('r', None, True) as session: for i in id_list: server_info = session.query( Server.ip, Server.port, AdminUser.system_user, AdminUser.user_key, Server.state).outerjoin( AdminUser, AdminUser.admin_user == Server.admin_user).filter( Server.id == i).all() server_list.append(server_info) # server_info = [('47.100.231.147', 22, 'root', '-----BEGIN RSA PRIVATE KEYxxxxxEND RSA PRIVATE KEY-----', 'false')] server_state = server_info[0][4] if server_state == 'true': ins_log.read_log('info', 'update asset info') # 选中的是true,直接更新资产 asset_data = get_server_sysinfo(server_list) update_asset(asset_data) else: # 选中的是其余的状态,那就先推送key, 拿到推送成功的key,更新资产 ins_log.read_log('info', 'rsync public key , update asset info') rsync_sucess_list = rsync_public_key(server_list) if rsync_sucess_list: asset_data = get_server_sysinfo(server_list) update_asset(asset_data)
def get_host_info(self): '''获取主机信息''' id_list = self.check_server_state() connect_server_list = [] with DBContext('r') as session: for i in id_list: connect_info = session.query(Server.ip, Server.port, AdminUser.system_user).outerjoin(AdminUser, AdminUser.admin_user == Server.admin_user).filter( Server.id == i).all() connect_server_list.append(connect_info) res_data_list = get_server_sysinfo(connect_server_list) return res_data_list
def get_host_info(self): '''获取主机信息,并写入数据库''' id_list = self.check_server_state() with DBContext('r') as session: for i in id_list: server_list = session.query( Server.ip, Server.port, AdminUser.system_user).outerjoin( AdminUser, AdminUser.admin_user == Server.admin_user).filter( Server.id == i).all() asset_data = get_server_sysinfo(server_list) ins_log.read_log('info', '资产信息:{}'.format(asset_data)) self.update_asset(asset_data)
def asset_update(self, id_list): # 检查下状态,是true的话直接推送资产 with DBContext('r', None, True) as session: for i in id_list: server_list = session.query(Server.ip, Server.port, AdminUser.system_user, AdminUser.user_key, Server.state).outerjoin(AdminUser, AdminUser.admin_user == Server.admin_user).filter( Server.id == i).all() # server_list = [('47.100.231.147', 22, 'root', '-----BEGIN RSA PRIVATE KEYxxxxxEND RSA PRIVATE KEY-----', 'false')] ins_log.read_log('info', '手动触发更新资产') rsync_sucess_list = rsync_public_key(server_list) if rsync_sucess_list: asset_data = get_server_sysinfo(server_list) ins_log.read_log('info', '资产信息:{}'.format(asset_data)) update_asset(asset_data)