利用python实现批量自动化运维脚本案例
2016-09-21 10:20
966 查看
本文为通过密码或密钥实现python批量自动化运维脚本案例分享
#!/usr/bin/env python
# this script comes from beijing oldboy trainning.
# e_mail:70271111@qq.com
# function: remote multi exec cmd by ssh.
# version:1.1
################################################
# oldboy trainning info.
# QQ 80042789 70271111
# site:http://www.etiantian.org
# blog:http://oldboy.blog.51cto.com
# oldboy trainning QQ group: 208160987 45039636
################################################
import paramiko
import socket
import sys,os
host = sys.argv[1]
user = sys.argv[2]
port = int(sys.argv[3])
auth_method = sys.argv[4]
if auth_method == 'PASSWORD':
password = sys.argv[5]
cmd = sys.argv[6]
else:
cmd = sys.argv[5]
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#pkey_file = '/home/alex/.ssh/id_rsa'
#key = paramiko.RSAKey.from_private_key_file(pkey_file)
#s.connect(host,port,username,pkey=key,timeout=5)
try:
if auth_method == 'SSH_KEY':
pkey_file = '/home/alex/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pkey_file)
s.connect(host,port,user,pkey=key,timeout=5)
elif auth_method == 'PASSWORD':
s.connect(host,port,user,password,timeout=5)
stdin,stdout,stderr = s.exec_command(cmd)
cmd_result = stdout.read(),stderr.read()
print "--------Result from? %s -------" % host
for line in cmd_result:
print line,
s.close()
except paramiko.AuthenticationException:
print "\033[31;1m%s Authentication Error!\033[0m" % host
except socket.error:
print "\033[31;1m%s Connection Refused!\033[0m" % host
执行命令:
python batch_ssh.py 10.0.0.8 oldboy 22 SSH_KEY df
python batch_ssh.py 10.0.0.9 root 33 PASSWORD 123456 df
本文出自 “老男孩linux运维” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1221129
#!/usr/bin/env python
# this script comes from beijing oldboy trainning.
# e_mail:70271111@qq.com
# function: remote multi exec cmd by ssh.
# version:1.1
################################################
# oldboy trainning info.
# QQ 80042789 70271111
# site:http://www.etiantian.org
# blog:http://oldboy.blog.51cto.com
# oldboy trainning QQ group: 208160987 45039636
################################################
import paramiko
import socket
import sys,os
host = sys.argv[1]
user = sys.argv[2]
port = int(sys.argv[3])
auth_method = sys.argv[4]
if auth_method == 'PASSWORD':
password = sys.argv[5]
cmd = sys.argv[6]
else:
cmd = sys.argv[5]
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#pkey_file = '/home/alex/.ssh/id_rsa'
#key = paramiko.RSAKey.from_private_key_file(pkey_file)
#s.connect(host,port,username,pkey=key,timeout=5)
try:
if auth_method == 'SSH_KEY':
pkey_file = '/home/alex/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pkey_file)
s.connect(host,port,user,pkey=key,timeout=5)
elif auth_method == 'PASSWORD':
s.connect(host,port,user,password,timeout=5)
stdin,stdout,stderr = s.exec_command(cmd)
cmd_result = stdout.read(),stderr.read()
print "--------Result from? %s -------" % host
for line in cmd_result:
print line,
s.close()
except paramiko.AuthenticationException:
print "\033[31;1m%s Authentication Error!\033[0m" % host
except socket.error:
print "\033[31;1m%s Connection Refused!\033[0m" % host
执行命令:
python batch_ssh.py 10.0.0.8 oldboy 22 SSH_KEY df
python batch_ssh.py 10.0.0.9 root 33 PASSWORD 123456 df
本文出自 “老男孩linux运维” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1221129
相关文章推荐
- 利用Python脚本实现-----登陆新浪微博&批量下载收藏内容
- CSDN博客专栏文章批量下载脚本[python实现]
- python自动化工具日志查询分析脚本代码实现
- [置顶] 利用python实现批量插入打印信息的方法
- 利用Azure Automation实现云端自动化运维(1)
- Python实现linux自动化运维 (1)
- 登陆新浪微博&批量下载收藏内容[Python脚本实现]
- 利用PHOTOSHOP CS 和 脚本实现批量自动处理图片
- 即学即用笔记——利用for脚本实现批量移动文件/文件夹
- Python脚本在Appium库上对移动应用实现自动化测试
- 利用Azure Automation实现云端自动化运维(2)
- Python自动化测试例子--一个简单的自动化测试用例脚本--批量执行测试用例
- 简易登录,批量执行命令,批量copy文件shell脚本【Linux运维之道之脚本案例】
- python脚本实例002- 利用requests库实现应用登录
- 利用python fabric模块写的批量操作远程主机脚本(命令执行,上传、下载文件)
- 脚本中利用数组实现对机器的批量控制 推荐
- 利用notepad++中安装python脚本实现批量转换文件编码
- arcgis脚本Python批量裁切与统计实现
- 运维自动化之中级进阶—Cobbler实战,实现批量多版本os自动部署。
- 利用yii2 gridview实现批量删除案例