码迷,mamicode.com
首页 > 其他好文 > 详细

paramiko操作详解(封装好的类,可以直接使用)

时间:2016-09-25 20:39:51      阅读:602      评论:0      收藏:0      [点我收藏+]

标签:

#!/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()

 

paramiko操作详解(封装好的类,可以直接使用)

标签:

原文地址:http://www.cnblogs.com/djoker/p/5906711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!