来讲讲:用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%s%(ip),
print=========================================================================
ssh.close()
except:
print%s%(ip),
print=========================================================================
defmain():
cmd=#履行敕令
username="root"
passwd="暗码"
threads=
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()
履行成果:
#pythonssh2.py
13:31:28up514days,7:28,1user,loadaverage:10.27,9.44,9.03
192.168.13.116
=========================================================================
13:31:28up514days,8:04,1user,loadaverage:5.99,6.05,6.46
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
username="root"
passwd=getpass.getpass(Pleaseinputpassword:)
threads=
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%s%(ip),
print=========================================================================
ssh.close()
except:
print%s%(ip),
print=========================================================================
if__name__==__main__:
main()
履行成果:
#pythonssh2.pymd5sum/usr/local/webserver/nginx/conf/nginx.conf
Pleaseinputpassword:
33066988953224e936028b341f4e1337/usr/local/webserver/nginx/conf/nginx.conf
192.168.13.116
=========================================================================
33066988953224e936028b341f4e1337/usr/local/webserver/nginx/conf/nginx.conf
192.168.13.117
=========================================================================
若暗码纰谬
192.168.13.116
=========================================================================
192.168.13.117
小知识:社区支持的免费Linux发行版一般不会从商业支持中寻求什么好处,但对CentOS来说,这种情况即将改变。
来讲讲:用python完成批量/并发处置
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统. 甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。 其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。 Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。 熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。 把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。 Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。 硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
页:
[1]