python3執行Linux命令,這里用模塊 subprocess,此模塊詳情可參考:https://www.cnblogs.com/lincappu/p/8270709.html
以下是自己封裝的一些方法:
【check_output傳參太復雜,轉用os.system執行】
class RemoteLinux: def __init__(self, ip, username, password): self.ip = ip self.username = username self.password = password def run_cmd(self, cmd): cmd_str = "sshpass -p {} ssh {}@{} '{}'".format(self.password, self.username, self.ip, cmd) result = os.system(cmd_str) logger.info("命令[%s]執行返回碼:%s", cmd_str, result) return result def run_scp_2_remote(self, local_dir, remote_dir): cmd_str = "sshpass -p {} scp -r {}/* {}@{}:{}".format(self.password, local_dir, self.username, self.ip, remote_dir) result = os.system(cmd_str) logger.info("命令[%s]執行返回碼:%s", cmd_str, result) return result def run_scp_2_local(self, local_dir, remote_dir): cmd_str = "sshpass -p {} scp -r {}@{}:{}/* {}".format(self.password, self.username, self.ip, remote_dir, local_dir) result = os.system(cmd_str) logger.info("命令[%s]執行返回碼:%s", cmd_str, result) return result