首页 > 自动化运维 > python > python批量执行命令
2015
03-11

python批量执行命令

前言

  今天整理了一下笔记,看到了paramiko模块的使用,发现写的不太清楚,今天又重新整理了一次,分享给大家!paramiko模块可以实现服务器批量的命令操作也可以实现ftp上传下载的功能。好了,废话不多说,看代码!


 

单线程批量执行命令

1.1、代码

#!/usr/bin/python 
#coding: utf-8
#author zhaodong
#site www.tshare365.com
import paramiko
import sys
user='root'
password='123456'
auth_method = sys.argv[1]
cmd=sys.argv[2]
f=file('hosts.txt')
for ip in f.readlines():
	host=ip.strip() 
	ssh = paramiko.SSHClient()
	ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
	#SSH_KEY认证
	if auth_method == 'SSH_KEY':
		pkey_file = '/root/.ssh/id_rsa'
        	key = paramiko.RSAKey.from_private_key_file(pkey_file)
        	ssh.connect(host,22,user,pkey=key,timeout=5) 
	#PASSWORD 认证
	elif auth_method == 'PASSWORD':
		ssh.connect(host,22,user,password)
	stdin, stdout, stderr = ssh.exec_command(cmd)
	print "\033[36m ===========%s=========== \033[0m " % host
	for line in  stdout.readlines():
		print line,
	ssh.close()
f.close()

1.2、通过脚本我们看到了我打开了一个hosts.txt文件,我们看一下它的内容。

[root@xen1-32 ~]# cat hosts 
192.168.20.101
192.168.20.102
[root@xen1-32 ~]#

1.3、命令的执行效果演示

1

如果感觉不够爽,有时间了在写一个多线程的!

本博客都此结束,如果有问题请留言!

 




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

python批量执行命令》有 3 条评论

  1. 说:

    初次接触 有好多都看不懂 能否加一些注释呢

  2. 董女士 说:

    请问如何注册 这个网站

留下一个回复