运维脚本python能用吗_运维岗真有人用Python脚本运维吗?
Shell在运维工程师思想中比较根深蒂固了,而且应用比较广泛,但是可移植差,也已经被公认了。Shell又称为胶水语言,就是把不同的命令粘合在一起的一种语言。是一种系统级别的语言,对操作系统依赖性强。就算是Linux范围内的不同的操作系统之间移植改动可能都超过重写,所花费的时间和经历。因此经常见到各种各样的Shell脚本,只是为了某一类甚至是某几个问题,而开发的。而且执行的时候,并不考虑系统资源占用
Shell在运维工程师思想中比较根深蒂固了,而且应用比较广泛,但是可移植差,也已经被公认了。
Shell又称为胶水语言,就是把不同的命令粘合在一起的一种语言。是一种系统级别的语言,对操作系统依赖性强。就算是Linux范围内的不同的操作系统之间移植改动可能都超过重写,所花费的时间和经历。
因此经常见到各种各样的Shell脚本,只是为了某一类甚至是某几个问题,而开发的。而且执行的时候,并不考虑系统资源占用的问题,最快的解决问题,才是它的最终目标。这正是类似救火队员的运维工程师需要所需要的工具,比较好用。
在我刚从事运维的时候,听说过这样一句话“掌握了3P就掌握了运维的未来”(不要想歪了)。这里面的3P---PHP、Perl、Python。经过时间的冲刷,PHP变成了世界上最好的语言,Perl的变成了Unix中的王牌工具,Python的触角伸向了各个尖端技术和高新行业。可见3P中Python功能和作用。
话题扯远了,回到题主的问题中。因为运维这个职业包括很多个方向,Python几乎都可以参与,或者替代Python。题主所说的运维岗可能就是面对服务器、应用的日常维护,那么其中肯定会涉及到批量管理或者自动化运维的相关内容。
批量管理或自动化,无非就是将人工执行的命令,变成脚本,让机器自动执行。那么Shell和Python的区别又在哪里呢。
如果是单台或者十台之内,且执行的命令无需长时间等待返回结果,从效果上看Shell和Python之间并没有多大差异。然而实际工作场景可能是面对几十台 甚至几百台终端(其中包括服务器、虚机、Docker),在时间消耗和资源占用上,可就是天壤之别了。
举个例子,一个代码,需要在30台终端上执行,每台执行时间是1分钟。
Shell是顺序执行,因此执行时间 = 1分钟 X 30次,就是30分钟,且每次执行都是长链接,对系统资源的损耗和占用非常明显;
Python中Fabric工具,从执行时间上看,每一次都是通知终端需要执行这个,然后就返回通知下一个终端,每次通知时间可以忽略不计,相当于每个终端开始执行时间可能相差不到1秒,当全部执行完成,应该不到2分钟(算上网络延迟),由于使用的短连接方式,因此对系统资源的消耗和占用基本上可以忽略不计。
更多推荐




所有评论(0)