国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python如何利用paramiko執(zhí)行服務(wù)器命令

瀏覽:3日期:2022-07-06 09:35:35

話不多說直接上代碼

封裝連接

@staticmethod def connect(ip, server_user, server_port, server_path): ''' 連接服務(wù)器 :param : :return: ''' ssh = paramiko.SSHClient() private_key = paramiko.RSAKey.from_private_key_file(’{}.ssh/id_rsa’.format(server_path)) ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: ssh.connect(ip, port=server_port, username=server_user, pkey=private_key, timeout=5, allow_agent=True) return ssh except Exception as e: app.logger.info(’connect_error info is {}’.format(e.__repr__())) return {’result’: 1,’ip’: ip,’msg’: e.__repr__(), }

在服務(wù)器執(zhí)行命令

def fabric_run_cmd(self, ip, server_user, server_port, server_path, cmd): ''' 批量在服務(wù)器執(zhí)行命令 :return: ''' conn = self.connect(ip, server_user, server_port, server_path) try: if type(conn) == dict:return conn else:stdin, stdout, stderr = conn.exec_command(cmd)app.logger.info(’fabric_run_cmd_stdout info is {}’.format(stdout.readlines()))app.logger.info(’fabric_run_cmd_stderr info is {}’.format(stderr.readlines()))channel = stdout.channelstatus = channel.recv_exit_status()conn.close()app.logger.info(’fabric_run_cmd_status info is {}’.format(status))if status == 0: return { ’ip’: ip, ’msg’: ’執(zhí)行成功’, ’result’: 0 }else: return { ’ip’: ip, ’msg’: stderr.readlines(), ’result’: 1 } except Exception as e: app.logger.info(’fabric_run_cmd_error info is {}’.format(e.__repr__())) return {’ip’: ip,’msg’: e.__repr__(),’result’: 1 }

將文件發(fā)送到服務(wù)器

def fabric_put_file(self, ip, src_file, dst_file, server_user, server_port, server_path): ''' 發(fā)送文件到服務(wù)器 :return: ''' conn = self.connect(ip, server_user, server_port, server_path) if type(conn) == dict: return conn else: try:ftp = conn.open_sftp()ftp.put(dst_file, src_file) # 發(fā)送文件之前先判斷有沒有目標(biāo)文件夾 如果沒有現(xiàn)在服務(wù)器上創(chuàng)建文件夾ftp.close() # 在此判斷文件是否發(fā)送成功return { ’ip’: ip, ’msg’: ’上傳成功’, ’result’: 0} except Exception as e:app.logger.info(’fabric_put_file_error info is {}’.format(e.__repr__()))return { ’ip’: ip, ’msg’: e.__repr__(), ’result’: 1}

能力有限,如有不妥請(qǐng)留言指正

以上就是python如何利用paramiko執(zhí)行服務(wù)器命令的詳細(xì)內(nèi)容,更多關(guān)于python 執(zhí)行服務(wù)器命令的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美操操操操 | 国产成人影院一区二区 | 激情综| 杨幂精品国产专区91在线 | 毛片免费视频 | 日韩在线观看一区二区三区 | 韩国一级免费视频 | 精品国产综合区久久久久久 | 国产精品久久久久毛片真精品 | 久久精品免视国产 | 成人欧美精品大91在线 | 久草福利在线观看 | 日本免费大黄在线观看 | 国产精品专区第二 | 国产成人综合视频 | 深夜成人性视频免费看 | 免费一区二区三区四区 | 在线视频一区二区三区 | 久久99精品久久久久久久野外 | 女人十八一级毛片 | 伊人22综合 | 中国精品视频一区二区三区 | 在线播放亚洲美女视频网站 | 日产一区两区三区 | 成人国产片免费 | 在线播放高清国语自产拍免费 | 久久久久国产精品免费免费 | 中日韩美中文字幕 | 久久精品国产三级不卡 | 国产下药迷倒白嫩丰满美女j8 | 黄色三级视频在线播放 | 91亚洲精品成人一区 | 亚洲欧美中文日韩在线v日本 | 成年人在线观看视频网站 | 免费在线精品视频 | 久久国产精品久久久久久 | 亚洲精品国产福利片 | 亚洲自拍在线观看 | 久久精品国产免费一区 | 久久久久国产精品 | 欧美日本高清 |