仓酷云
标题:
来讲讲:用python完成批量/并发处置
[打印本页]
作者:
不帅
时间:
2015-1-14 21:05
标题:
来讲讲:用python完成批量/并发处置
小知识: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
标题:
来讲讲:用python完成批量/并发处置
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
作者:
愤怒的大鸟
时间:
2015-1-22 13:48
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
作者:
第二个灵魂
时间:
2015-1-31 09:52
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
作者:
柔情似水
时间:
2015-2-6 19:14
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
作者:
精灵巫婆
时间:
2015-2-18 09:33
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
作者:
爱飞
时间:
2015-3-6 05:39
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
作者:
再见西城
时间:
2015-3-12 22:19
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
作者:
金色的骷髅
时间:
2015-3-20 06:12
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2