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()
paramiko操作详解(封装好的类,可以直接使用)的更多相关文章
- [Android新手区] SQLite 操作详解--SQL语法
该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法 :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...
- VC++常用数据类型及其操作详解
原文地址:http://blog.csdn.net/ithomer/article/details/5019367 VC++常用数据类型及其操作详解 一.VC常用数据类型列表 二.常用数据类型转化 2 ...
- Linq实战 之 Linq to Sql及Entity Framework操作详解
Linq实战 之 Linq to Sql及Entity Framework操作详解 一:linq to db的框架 1. linq to sql 2. linq to ado.net entity f ...
- windows phone 8.1开发SQlite数据库操作详解
原文出自:http://www.bcmeng.com/windows-phone-sqlite1/ 本文小梦将和大家分享WP8.1中SQlite数据库的基本操作:(最后有整个示例的源码)(希望能通过本 ...
- MySQL 操作详解
MySQL 操作详解 一.实验简介 本节实验中学习并实践 MySQL 上创建数据库.创建表.查找信息等详细的语法及参数使用方法. 二.创建并使用数据库 1. 创建并选择数据库 使用SHOW语句找出服务 ...
- Linq实战 之 DataSet操作详解
Linq实战 之 DataSet操作详解 一:linq to Ado.Net 1. linq为什么要扩展ado.net,原因在于给既有代码增加福利.FCL中在ado.net上扩展了一些方法. 简单一 ...
- Django框架 之 ORM查询操作详解
Django框架 之 ORM查询操作详解 浏览目录 一般操作 ForeignKey操作 ManyToManyField 聚合查询 分组查询 F查询和Q查询 事务 Django终端打印SQL语句 在Py ...
- Linux 文件/目录操作详解
目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...
- ORM 对表操作 详解
目录 ORM对表操作详解 表结构 ORM对表的 增 删 改 查 基于对象的跨表查询 -- 类似于子查询 基于双下划的跨表查询 -- 连表 join ORM对表的操作示例 正向查 与 反向查 relat ...
随机推荐
- MySQL的错误:No query specified
在做MySQL主从同步的时候通过: mysql> show slave status\G; *************************** 1. row **************** ...
- 创建 XMLHttpRequest 对象
var _createHttpRequest = function () { var obj; if (window.XMLHttpRequest) obj = new XMLHttpRequest( ...
- mysql学习(二)
(1)存储过程:存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理: (2)存储过程优点:增强SQL语句的功能和灵活性,实现较快的执行速度,减少网络流量: (3)存储过程结构 ...
- 设置h5页面不可复制文字
* { moz-user-select: -moz-none; -moz-user-select: none; -o-user-select: none; -khtml-user-select: no ...
- Sql 中text类型字段判断是否为空
用 len关键字,字段=''会报错:数据类型 text 和 varchar 在 equal to 运算符中不兼容. 正确方法: 1. 字段 is null 2. datalength(字段)=0 注: ...
- 统计学习方法笔记 Logistic regression
logistic distribution 设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数: 式中,μ为位置参数,γ>0为形状参数. 密度函数是脉冲函数 分布函数是一条S ...
- ReferenceQueue的使用
转:http://www.iflym.com/index.php/java-programe/201407140001.html 1 何为ReferenceQueue 在java的引用体系中,存在着强 ...
- Memcache学习php完整一例
header("Content-Type:text/html;charset=utf-8"); /* PHP设置分布式memcache存取 */ //创建memcache对象 $m ...
- Windows 2008安装SQL 2008图解
SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本. 在现今数据的世界里,公司要获得成功和不断发展,他们 ...
- Django跑起来
1. 安装python 2. 安装pip 3. 安装dj 4. 配置dj 5. 建立dj web app 6. 开始项目 打算写这篇文章,先把目录写上