仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 663|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 来讲讲:用python完成批量/并发处置

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:05:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:Linux是一套免费使用和自由传播的类Unix操作系统。
比来在进修python,感到很不错,特殊是完成批量/并发处置。完成起来异常便利,比shell便利许多。刚学python一个月,在这留个记载。上面分享一段代码。多提建议/看法~(QQ群交换:24967504)
需求:批量检查/比较线上办事器的状况情形,如uptime、df-h、MD5sum文件等等。本盘算让履行敕令经由过程传参停止、暗码经由过程交互输出(3次纰谬加入)。前面再完美~~
#-*-coding:utf-8-*-
#!/usr/bin/python

importparamiko
importthreading
defssh2(ip,username,passwd,cmd):
try:
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22,username,passwd,timeout=5)
formincmd:
stdin,stdout,stderr=ssh.exec_command(m)
stdin.write("Y")
out=stdout.readlines()
foroinout:
printo,
print[OK]%s%(ip),
print=========================================================================
ssh.close()
except:
print[Error]%s%(ip),
print=========================================================================
defmain():
cmd=[uptime]#履行敕令
username="root"
passwd="暗码"
threads=[4]
f=file(list.txt)#ip列表
whileTrue:
ip=f.readline()
iflen(ip)==0:
break
a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
a.start()
f.close()

if__name__==__main__:
main()

履行成果:
[root@bw-vm-soft~]#pythonssh2.py
13:31:28up514days,7:28,1user,loadaverage:10.27,9.44,9.03
[OK]192.168.13.116
=========================================================================
13:31:28up514days,8:04,1user,loadaverage:5.99,6.05,6.46
[OK]192.168.13.117
=========================================================================

针对后面的代码,还存在的成绩停止了改良:
1、去失落明文暗码,经由过程交互输出暗码
2、经由过程传参履行相干敕令,增长灵巧性
3、异常处置
4、其他成绩待发明,接洽QQ群:24967504

详细代码:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importsys
importparamiko
importthreading
importgetpass
defmain():
try:
cmd=sys.argv[1:]
username="root"
passwd=getpass.getpass(Pleaseinputpassword:)
threads=[4]
f=file(list.txt)
whileTrue:
ip=f.readline()
iflen(ip)==0:
break
a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
a.start()
f.close()
except:
pass

defssh2(ip,username,passwd,cmd):
try:
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22,username,passwd,timeout=5)
formincmd:
stdin,stdout,stderr=ssh.exec_command(m)
stdin.write("Y")
out=stdout.readlines()
foroinout:
printo,
print[OK]%s%(ip),
print=========================================================================
ssh.close()
except:
print[Error]%s%(ip),
print=========================================================================

if__name__==__main__:
main()

履行成果:
[root@bw-vm-softtest]#pythonssh2.pymd5sum/usr/local/webserver/nginx/conf/nginx.conf
Pleaseinputpassword:
33066988953224e936028b341f4e1337/usr/local/webserver/nginx/conf/nginx.conf
[OK]192.168.13.116
=========================================================================
33066988953224e936028b341f4e1337/usr/local/webserver/nginx/conf/nginx.conf
[OK]192.168.13.117
=========================================================================

若暗码纰谬
[Error]192.168.13.116
=========================================================================
[Error]192.168.13.117

小知识:社区支持的免费Linux发行版一般不会从商业支持中寻求什么好处,但对CentOS来说,这种情况即将改变。
海妖 该用户已被删除
沙发
发表于 2015-1-16 23:46:39 | 只看该作者

来讲讲:用python完成批量/并发处置

任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-22 13:48:02 | 只看该作者
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
第二个灵魂 该用户已被删除
地板
发表于 2015-1-31 09:52:43 | 只看该作者
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
柔情似水 该用户已被删除
5#
发表于 2015-2-6 19:14:58 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-18 09:33:10 | 只看该作者
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
爱飞 该用户已被删除
7#
发表于 2015-3-6 05:39:15 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
再见西城 该用户已被删除
8#
发表于 2015-3-12 22:19:53 | 只看该作者
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-20 06:12:24 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-23 07:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表