前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 多进程实现ssh

python 多进程实现ssh

作者头像
py3study
发布2020-01-17 10:16:36
5960
发布2020-01-17 10:16:36
举报
文章被收录于专栏:python3python3

多进程实现多台服务器ssh命令:

代码语言:javascript
复制
# -*- coding: UTF-8 -*-
from multiprocessing import Process,Pool
import paramiko
import sys,os
host_list = (
('192.168.1.60','nginx','password'),
('192.168.1.62','nginx','password'),
('192.168.1.66','nginx','password'),
)
cmd='free -m'
pkey_file='/root/.ssh/id_rsa'
paramiko.util.log_to_file('syslogin.log')
ssh=paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
key = paramiko.RSAKey.from_private_key_file(pkey_file)
def ssh_run(host_info,cmd):
  ip,username,password = host_info
  ssh.connect(hostname=ip,port=22,username=username,password=password,pkey=key,timeout=5)
  stdin,stdout,stderr=ssh.exec_command(cmd)
  cmd_result = stdout.read(),stderr.read()
  
  print "-----------------%s---------------------------------" %ip,username
  for line in cmd_result:
    print line,
p = Pool(processes=2)
result_list = []
for h in host_list:
  result_list.append(p.apply_async(ssh_run,[h,'df']))
p.close()
p.join()
for res in result_list:
  print res.get()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档