python 远程执行linux命令


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM