国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python如何利用paramiko執行服務器命令

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

話不多說直接上代碼

封裝連接

@staticmethod def connect(ip, server_user, server_port, server_path): ''' 連接服務器 :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__(), }

在服務器執行命令

def fabric_run_cmd(self, ip, server_user, server_port, server_path, cmd): ''' 批量在服務器執行命令 :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’: ’執行成功’, ’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 }

將文件發送到服務器

def fabric_put_file(self, ip, src_file, dst_file, server_user, server_port, server_path): ''' 發送文件到服務器 :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) # 發送文件之前先判斷有沒有目標文件夾 如果沒有現在服務器上創建文件夾ftp.close() # 在此判斷文件是否發送成功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}

能力有限,如有不妥請留言指正

以上就是python如何利用paramiko執行服務器命令的詳細內容,更多關于python 執行服務器命令的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 隆昌县| 昌吉市| 通州区| 芦山县| 红原县| 旌德县| 望都县| 桦川县| 甘南县| 双辽市| 徐水县| 越西县| 江门市| 长岭县| 含山县| 三都| 南通市| 柏乡县| 阳新县| 隆子县| 温州市| 嘉兴市| 镇雄县| 天祝| 桃园市| 稻城县| 乐都县| 德钦县| 紫金县| 滦平县| 尼勒克县| 兴安盟| 尚义县| 江陵县| 得荣县| 太保市| 澜沧| 女性| 泰来县| 辽阳县| 富裕县|