zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python调用paramiko模块实现远程管理多台server

Pythonserver模块 实现 调用 远程管理 多台 paramiko
2023-09-27 14:25:13 时间

Python中的paramiko是一个很实用的模块,通过此模块。能够远程操控多台server。无需在server上安装不论什么东西。仅仅须要在代码运行机器上有Python,paramiko环境就能够了,对于须要多台server协同工作或者要管理多台server的情况下很有帮助。


下面为代码演示样例

#!/usr/bin/env python
# -*- coding:utf-8 -*-


import paramiko
#远程控制多台測试server。用来启动測试相关脚本和程序

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.仅仅对linuxserver有效