利用python实现批量自动化运维脚本案例
2013-06-13 12:50
639 查看
本文为通过密码或密钥实现python批量自动化运维脚本案例分享,是老男孩linux培训 python课程教学案例内容,后续会分享多线程并发执行这个脚本的更高级的功能(http://oldboy.blog.51cto.com/2561410/1221605),敬请关注!
#!/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
阅读更多
相关文章推荐
- 利用python实现批量自动化运维脚本案例
- 利用Python编写钉钉机器人脚本,实现Zabbix自动化监控
- 利用Python脚本实现-----登陆新浪微博&批量下载收藏内容
- 利用yii2 gridview实现批量删除案例
- 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)
- CSDN博客专栏文章批量下载脚本[python实现]
- 利用Azure Automation实现云端自动化运维(4)
- Appium + Python +App实现第一个自动化测试脚本
- #自己动手写脚本#python实现批量写入syscon
- CSDN博客专栏文章批量下载脚本[python实现]
- python脚本实现批量更新数据库中字段值
- python使用Fabric模块实现自动化运维
- python脚本实现文件的批量移动、复制,以及删除指定后缀
- 利用yii2 gridview实现批量删除案例
- python自动化工具日志查询分析脚本代码实现
- 利用Fabric+Capistrano实现Python自动化部署
- 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)
- Python脚本在Appium库上对移动应用实现自动化测试
- 利用Azure Automation实现云端自动化运维(4)