zoukankan      html  css  js  c++  java
  • paramiko操作详解(封装好的类,可以直接使用)

    #!/usr/bin/env python
    #encoding:utf8
    #author: djoker
    
    import paramiko
    
    class myParamiko:
        def __init__(self,hostip,username,password,port=22):
            self.hostip = hostip
            self.port = port
            self.username = username
            self.password = password
            self.obj = paramiko.SSHClient()
            self.obj.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            self.obj.connect(self.hostip,self.port,self.username,self.password)
            self.objsftp = self.obj.open_sftp()
    
        def run_cmd(self,cmd):
            stdin,stdout,stderr = self.obj.exec_command(cmd)
            return stdout.read()
    
        def run_cmdlist(self,cmdlist):
            self.resultList = []
            for cmd in cmdlist:
                stdin,stdout,stderr = self.obj.exec_command(cmd)
                self.resultList.append(stdout.read())
            return self.resultList
    
        def get(self,remotepath,localpath):
            self.objsftp.get(remotepath,localpath)
    
        def put(self,localpath,remotepath):
            self.objsftp.put(localpath,remotepath)
    
        def getTarPackage(self,path):
            list = self.objsftp.listdir(path)
            for packageName in list:
                stdin,stdout,stderr  = self.obj.exec_command("cd " + path +";"
                                                             + "tar -zvcf /tmp/" + packageName
                                                             + ".tar.gz " + packageName)
                stdout.read()
                self.objsftp.get("/tmp/" + packageName + ".tar.gz","/tmp/" + packageName + ".tar.gz")
                self.objsftp.remove("/tmp/" + packageName + ".tar.gz")
                print "get package from " + packageName + " ok......"
    
        def close(self):
            self.objsftp.close()
            self.obj.close()
    
    if __name__ == '__main__':
        sshobj = myParamiko('10.10.8.21','root','xxxxxxxx',22)
        sshobj.close()
    每一次启程都是从搬砖开始......
  • 相关阅读:
    柠檬班软件测试就业班学习笔记持续更新
    linux练习题面试必备持续更新
    windows10 mysql5.7.23解压版安装教程
    2020 年最新:Maven无法使用阿里云仓库下载
    cd1101d 树形dp
    SemanticException [Error 10025]
    spark学习
    es学习
    nginx配置-线上服务器
    jdk、tomcat升级过程中遇到的问题
  • 原文地址:https://www.cnblogs.com/djoker/p/5906711.html
Copyright © 2011-2022 走看看