Python调用paramiko模块实现远程管理多台服务器
2015-07-04 14:46
776 查看
Python中的paramiko是一个非常有用的模块,通过此模块,可以远程操控多台服务器,无需在服务器上安装任何东西,只需要在代码执行机器上有Python,paramiko环境就可以了,对于需要多台服务器协同工作或者要管理多台服务器的情况下非常有帮助。
以下为代码示例
使用说明:
1.最好把每次要执行的一系列相关的命令放到一个exec_commmand中执行,因为exec_commmand执行完毕后会自动跳转
2.有些错误是捕捉不到的,比如切换到一个不存在的目录,我碰到这个问题的时候调试了1个小时
3.只对linux服务器有效
以下为代码示例
#!/usr/bin/env python # -*- coding:utf-8 -*- import paramiko #远程控制多台测试服务器,用来启动测试相关脚本和程序 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) print '开始启动测试程序............................' #连接192.168.0.1 ssh.connect(ip,port,username, password) #启动 stdin, stdout, stderr = ssh.exec_command("cd /home/..../;rm -rf ./*;ls -l") print stdout.readlines() stdin, stdout, stderr = ssh.exec_command("cd /home/..../;./startup.sh;ps -ef | grep java | grep -v grep") print stdout.readlines() ssh.close() #连接192.168.0.2 ssh.connect(ip,port,username, password) #启动 stdin, stdout, stderr = ssh.exec_command("cd /home/..../;rm -rf ./*;ls -l") print stdout.readlines() stdin, stdout, stderr = ssh.exec_command("cd /home/..../;./startup.sh;ps -ef | grep java | grep -v grep") print stdout.readlines() ssh.close() print '启动测试程序成功............................'
使用说明:
1.最好把每次要执行的一系列相关的命令放到一个exec_commmand中执行,因为exec_commmand执行完毕后会自动跳转
2.有些错误是捕捉不到的,比如切换到一个不存在的目录,我碰到这个问题的时候调试了1个小时
3.只对linux服务器有效
相关文章推荐
- python小工具
- 阿里云 RDS SDK python3支持
- 各种相似度计算的python实现
- Apriori算法Python实现
- Python学习笔记(2)
- python json及mysql——读取json文件存sql、数据库日期类型转换、终端操纵mysql及python codecs读取大文件问题
- 在Python中使用MYSQL
- Python匿名函数
- 使用python+django+twistd 开发自己的操作和维护系统的一个
- Ubuntu1404: 将VIM打造为一个实用的PythonIDE
- python中的metaclass
- FP-Growth算法之频繁项集的挖掘(python)
- FP-Growth算法之频繁项集的挖掘(python)
- FP-Growth算法之FP-tree的构造(python)
- FP-Growth算法之FP-tree的构造(python)
- dbf文件使用python读取程序
- Python中几个比较常见的名词解释
- Ubuntu Python Setup
- FP-Growth算法python实现
- FP-Growth算法python实现