说明
部署时需要执行linux命令,可以使用shell脚本。但我更希望全程部署使用python实现,因此有了此文,作为记录。
参考文章:
python3模拟实现xshell远程执行linux命令的方法
代码
# -*- coding: UTF-8 -*-
import os
import time
import paramiko
class MyLinux(object):
# 通过IP, 用户名,密码,超时时间初始化一个远程Linux主机
def __init__(self, ip, username, password, timeout=30):
self.ip = ip
self.username = username
self.password = password
self.timeout = timeout
# transport和chanel
self.t = ''
self.chan = ''
# 链接失败的重试次数
self.try_times = 3
# 调用该方法连接远程主机
def connect(self):
while True:
# 连接过程中可能会抛出异常,比如网络不通、链接超时
try:
self.t = paramiko.Transport(sock=(self.ip, 22))
self.t.connect(username=