热心冰块
作者热心冰块·2021-12-09 09:46
项目经理·浪潮INSPUR

再谈运维工作脚本/程序的重要性

字数 1423阅读 3049评论 0赞 3

消失了很久,最近回归,看到有兄弟问如何实现存储、存储交换机、终端挂接如何实现自动化;也看到有兄弟发监控内存使用率的文章。不免又勾起了我写程序的欲望,特想给哥们写个一键空间资源交付,也特想把Shell写的内存监控的脚本改成Python,由于项目交付实在没时间写了,就写篇文章吹吹牛吧。
是的,你没看错,我自认为能力有限,写总结经验类的文章都是在吹水,希望大家能在糟粕中找到一点点的营养吧。之前写过《主机运维管理脚本决定效率》的吹水文章,当时只是简单的看了看Python,刚刚接触就被其流畅的语法吸引,写了篇文章和大家分享心得。这几年下来也写了不少的东西,一些针对具体需求写的个性化的小程序,最大规模的应用是在河北石家寨那次,要验证几千台设备的部署情况,用了半天写出来,兄弟们忙活了半天搞定了项目经理的任务。So,不得不说,写程序也好,学习写也好,最快捷的方式是有明确的,具体的需求。不能自己想写想学了,然后编一个需求出来,这样会越写越乱。就好比目标不固定,很难做到精准定位的。
那么写程序重要吗?
——重要,因为能提高效率;
——不重要,因为运维工作重点不是写程序。
所以,如何分配自己有限的时间、精力就显得尤为重要了。这里的重点是选择一个学习周期短、上手快的语言。这么多年下来,我还是首推Python,就上面说的一键空间交付,因为存储、光交、主机都可以SSH登陆,所以Paramiko模块完全可以搞定。之所以我要重写内存监控脚本,是因为我Shell一般,很多东西看不懂,这样不利于推广和维护这个脚本。当然我很佩服能写好Shell的兄弟,尤其是Sed、Awk等复杂的命令。
可能是因为我懒惯了Python的Split做字符串切片,也可能最开始就犯懒没吃透Sed、Awk的语法,后面也就更加的懒得研究了(理解下老东西的懒癌吧)。可能因为我的懒,所以在Shell和Python间选择了Python。运维工作不会用Python去做大场面,如Web Server、影音处理、大数据分析啥的,所以就不用钻研那么多的模块了,做Web的Django我是看过的,也尝试写过,后来的后来,我是真不知道我学完了能拿来干嘛,我不是程序猿誒,搞那么复杂干嘛。就简简单单的Paramiko、sys、os、Thread、file、date、time之类的,最多再来个Socket,不能再多了,基本都是根据需求,现查现写。因为这些模块太常见了,网上一搜一大把,懂语法就行,根本不需要特意的记模块。总写也就记住了,我这最近一年多不写了,现在就全忘了,但给我代码我还能看懂,所以查一查模仿一下很快就能恢复功力。
除了学习周期、上手速度之外,还要看当前操作系统的支持情况,最好不要单独安装运行环境,系统中有原生的运行环境最好,还要版本迭代演进的慢一些。在Unix、Linux中这点任何语言都比不上Shell,SSH登陆上就能用。Python这两年好多了,新的Linux都开始原生2.x的高版本甚至有3.x了,常见的存储、网络等设备上也是支持Python2.x的。其他如战略核武级别的C,战术核武级的Java,突击步枪级的Go等等,不是编译运行麻烦,就是开发周期长,要不就是运行环境做不到抬手就来。所以,Shell经久不衰因为长存、方便,Python也因为简单、高效逐渐被各个软件、硬件厂家收纳进产品中。
PS:篇外话,我还玩过Python做Excel的数据哈,用的DataNitro,比VBA好用的多

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广