paramiko和线程池Demo(快速批量操作服务器)

都知道paramiko是基于SSH协议的,可以SSH连接服务器操作,

之前面试被问到过,如何可以快速的批量操作服务器更新服务器文件啥的 。

我当时说用paramiko来操作,面试的人说,那也是一台一台操作,我一脸懵逼

然后他说,你听过异步(协程、多线程、多进程)吗 ,我说那我知道了。

(异步并发编程,也是我在学爬虫的时候学会的)

这回我就用的是线程池和结合paramiko来搞服务器

代码如下

import paramiko
from common.ParamikoHelper import ParamikoHelper
from concurrent.futures.thread import ThreadPoolExecutor


def get_uptime(host):
    pa = ParamikoHelper(host, 'root', 22, private_key)
    ret = pa.execute_command('cat /proc/loadavg')
    print(f'主机{host},负载{ret}')


if __name__ == '__main__':
    private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
    ip_lists = ['c0', 'c1', 'c2', 'c3', 'c4']
    with ThreadPoolExecutor(3) as t:
        for ip in ip_lists:
            t.submit(get_uptime, ip)

运行结果
在这里插入图片描述

还有个paramiko的代码在哪里呢 ? 看官可移步下面这篇文章。

拿过来就能用。

https://blog.csdn.net/hans99812345/article/details/111800169

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值