免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yestreenstars
打印 上一主题 下一主题

[其他] 学习与分享——Python自动化运维 [复制链接]

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之福建
日期:2016-08-08 13:37:03
1 [报告]
发表于 2014-11-24 10:40 |显示全部楼层
1.你是如何学习Python的?看书?看视频?还是?

看书,语法简单看一下就行,主要了解一下python的特点和优势,
以及能做什么。然后就是实践了,编写一些小程序,遇到问题就
查书或baidu。


2.你工作中有用到Python吗?主要用来做什么?

编写一些运维方面的小工具,尤其在脚本比较弱的windows平台。
另外,很多流行的运维工具都是python写的,不得不学啊。


3.你觉得Python跟其他脚本语言比优势在哪?

我用过perl(但很少用CPAN),熟悉bash和js,会点儿vbs,相比之下,
我感觉python挺好学,容易上手,面向对象方面比perl更自然。
另外,一种语言是否流行,还要看库是否丰富。python内置了很多有用的库,
无需安装就能用,非常方便。
还有那个命令行交互模式,对调试很有用啊。


4.谈谈Python在自动化运维中的应用。

可以利用既有库方便的连接http,ssh,mail等服务器,实现远程管理。
利用进程管理,信号处理等功能实现系统监控。
利用文本处理功能进行日志分析。


5.给出一个你自己写的Python脚本(最好有详细注释)。

这个脚本用在管道中,把前面的输出加上时间戳。

例如,ping %IP% -t|python addTimestamp.py
目的是监视连通状况,记录下发生断网的时间。
  1. #!/usr/bin/env python
  2. import sys
  3. from datetime import datetime

  4. def getDateStr():
  5.     return datetime.now().strftime('%Y-%m-%d %H:%M:%S')

  6. try:
  7.     while True:
  8.             line=sys.stdin.readline()
  9.             if line:
  10.                     print '[' + getDateStr() + ']', line.strip()
  11.                     sys.stdout.flush()
  12.             else:
  13.                     break
  14. except KeyboardInterrupt:
  15.     print 'exit cause by SIGINT'
复制代码

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之福建
日期:2016-08-08 13:37:03
2 [报告]
发表于 2014-11-24 14:09 |显示全部楼层
回复 28# yestreenstars


    同感! 还是perl的正则捕获好用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP