忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 82864 | 回复: 87

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

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-11-21 17:03 |显示全部楼层
获奖信息已公布,详情请看:http://bbs.chinaunix.net/thread-4163343-1-1.html
话题背景:

Python是一门功能强大、面向对象、解释型的语言,它的语法简洁清晰,简单易学,既可以用作系统管理,也可以用来写爬虫脚本,甚至可以用来开发Web。作为几大脚本语言之一,越来越多的运维喜欢上Python这门语言,因为它的可移植性强,兼容性也相对其他语言要好些,懂shell的运维很多,但懂Python的却不多,现在很多公司在招聘运维时都要求熟悉shell,懂Perl、Python的更佳,所以,如果学会了Python,对你的职业生涯是有一定帮助的。

讨论话题:
1.你是如何学习Python的?看书?看视频?还是?
2.你工作中有用到Python吗?主要用来做什么?
3.你觉得Python跟其他脚本语言比优势在哪?
4.谈谈Python在自动化运维中的应用。
5.给出一个你自己写的Python脚本(最好有详细注释)。

讨论时间:
2014-11-21至2014-12-10

活动奖励:
活动结束后将选取5名分享精彩的童鞋,每人赠送一本《Python自动化运维:技术与最佳实践》作为奖励。

奖品简介:
635514036774893444.jpg
作者:刘天斯
出版社:机械工业出版社
ISBN:9787111483069
出版时间:2014-11-01
开本:16开
页数:312
版次:1

作者简介:
刘天斯,中国运维领域的偶像级人物,从事系统运维工作近10年。现就职于腾讯,担任高级系统工程师,负责腾讯CDN的运维工作。

内容简介:
全书一共16章:基础篇(1-4章)详细介绍了系统基础信息、业务服务监控、定制业务质量报表、系统安全等基础和常用模块;高级篇(5-12章)深入讲解了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(13-16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量监控平台、如何构建桌面版C/S自动化运维平台,这4个案例均来自实际生产环境。

样章下载:
正文.pdf (2.24 MB, 下载次数: 3827)

论坛徽章:
0
发表于 2014-11-21 17:37 |显示全部楼层
来个沙发
1.就看了本python简明教程,然后就开始摸索着写,后来混迹各大论坛,看看别人发的代码以及一些框架的源码,自己仔细研究下别人写的好的地方,然后重写一遍,从没看过视频
2.工作中用到python来做线下的数据挖掘,主要是用python来写一些hadoop中的mapreduce任务,还有就是重写了整套监控系统,gangglia的api是生成xml文件,用python来处理xml还是很给力的,现在主要的精力放在web开发方面
3.优势是语法简洁,可阅读性可维护性强,上手快,但是要写好得需要多研究,对php和perl都了解一些,但是就是没兴趣写php和perl
4.自动化运维方面主要就是监控,批量管理和部署平台,以及对hadoop的流程化工具
5.工作中的一个脚本(主要用facebook开源thrift的模块,来做c/s通信的一个简单应用,场景是hadoop异步处理完数据,给server推送一个消息,然后server到client取数据)

import sys
sys.path.append('../gen-py')       #安装完thrift,添加路径,好像默认支持c++,python

from Profile import Profile
from Profile.ttypes import *
from Profile.constants import *

from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol    #导入各种模块

class Profile_client:        #定义类
        host=''
        port=''
        def __init__(self,host,port):   #类的初始化,初始创建连接需要的参数
                global client
                self.host = host
                self.port = port
                transport = TSocket.TSocket(self.host, self.port)
                transport = TTransport.TBufferedTransport(transport)
                protocol = TBinaryProtocol.TBinaryProtocol(transport)
                client = Profile.Client(protocol)
                transport.open()
        def  connect_server(self,name,mess):                         #连接方法       
                client.notifyReload(tt,"yes ,data is ready,please get")
        def __del__(self):    #关闭
        return 0

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22水瓶座
日期:2014-10-16 01:00:22摩羯座
日期:2014-10-10 17:43:02
发表于 2014-11-21 17:47 |显示全部楼层
必须的顶一个~~学生没有发言权还是可以点赞的

论坛徽章:
11
CU十二周年纪念徽章
日期:2013-10-24 15:41:342015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-14 10:36:40技术图书徽章
日期:2015-01-12 15:46:11白羊座
日期:2014-11-14 09:35:36狮子座
日期:2014-10-30 13:18:49子鼠
日期:2014-09-28 14:11:06巳蛇
日期:2014-10-11 12:52:08双鱼座
日期:2014-04-22 13:05:48午马
日期:2014-02-11 17:58:002015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2014-11-21 17:54 |显示全部楼层
1.你是如何学习Python的?看书?看视频?还是?
不会,从今天才开始学,正在看老齐的零基础开始学python
计划看笨方法学python,简明python,看完这些,去看python学习手册了。

2.你工作中有用到Python吗?主要用来做什么?
现在不会,工作当中有看到其他懂python的同事写的自动化发布平台。
将代码包通过平台,对应工程,自动拉取到线上。

3.你觉得Python跟其他脚本语言比优势在哪?
简洁,可移植性,跨平台,效率高。据说容易让人上手。

4.谈谈Python在自动化运维中的应用。
就是将人做的重复工作,通过脚本程序去处理,或者直接写web平台进行处理所有工作流程。
至少我这个菜鸟是这么理解的。

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

还不会写,>>> print 'Hello,World'  算么

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
发表于 2014-11-21 18:29 |显示全部楼层
好书............

论坛徽章:
129
操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57数据库技术版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:052022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:57IT运维版块每日发帖之星
日期:2016-05-11 17:06:49操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57程序设计版块每日发帖之星
日期:2016-05-11 17:06:57
发表于 2014-11-21 18:49 来自手机 |显示全部楼层
求大大赏一本吧

论坛徽章:
49
15-16赛季CBA联赛之北控
日期:2017-04-10 11:06:27白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:532015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之大阪钢巴
日期:2015-06-25 17:30:042015亚冠之城南
日期:2015-06-25 15:10:58CU十四周年纪念徽章
日期:2015-11-25 15:35:40黄金圣斗士
日期:2015-12-02 11:44:35
发表于 2014-11-21 20:12 |显示全部楼层

1.你是如何学习Python的?看书?看视频?还是?

看书吧, 虽然视频也看过, 但是没坚持下去, 入门的书应该是Python基础教程(第二版), 期间也看过Python核心编程, Python学习手册, 笨办法学Python等电子书, 但都没有认认真真完完整整的看完过.
鉴于此, 特意购买了一本纸质书籍, Python学习手册(第四版), 打算扎实的搞定它.
我个人认为, 基础是最重要的, 有了扎实的基础才能融会贯通.再去进阶也不是难事儿, 遇到问题, 各种搜索引擎以及bbs, 基本上都能搞定问题.

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

我所属的行业是游戏行业,以页游/手游为主, 刚开始都是以bash脚本为主, 我们的服务器数量众多,
工作量也相当大, 经常要去服务器执行各种功能的脚本, 着实繁琐.
于是, 我写了一套Python程序, 统筹所有功能模块的脚本, 结合web以及各个游戏的管理后台,
实现自动化控制,大大提高了工作效率, 而且降低了误操作概率.
另外, 还用利用Python解析各种Excel表格.

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

其一, 它是跨平台的, 不管是windows还是*nux, 它都能使.
其二, 它有丰富的标准库模块以及第三方模块, 极大的降低了编码的复杂性, 几乎能做任何事情.
其三, 喜欢, 就是这么任性.

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

就我来说, 所谓自动化运维应该是: 利用Python, 结合web, 分游戏, 多任务, 多功能的完成各种开服, 合服, 迁移, 更新等日常工作.
工作效率成几何数提高.然后, 就可以打酱油了

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

发一个早前写的解析xls的脚本吧, 不过没啥对针对性
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-

  3. import re
  4. import sys
  5. reload(sys)
  6. sys.setdefaultencoding('utf-8')
  7. try:
  8.     import xlrd
  9.     data = xlrd.open_workbook('tab1.xlsx')
  10. except Exception,e:
  11.     print '文件打开出错: %s' % str(e)
  12.     sys.exit(1)
  13. table = data.sheet_by_index(0)
  14. nrows = table.nrows
  15. ncols = table.ncols

  16. def print_r(nl):
  17.     length = len(str(nl[0]))
  18.     begin = int(nl[0])
  19.     end = int(nl[1])+1
  20.     for n in range(begin,end):
  21.         print str(number)+','+str(int(areano))+''+str(n).zfill(length)

  22. # 开始行
  23. row = 1
  24. while row < nrows:
  25.     # 开始列
  26.     col = 1
  27.     number = table.cell(row,0).value
  28.     while col < ncols:
  29.         areano = table.cell(0,col).value
  30.         data = table.cell(row,col).value
  31.         if data:
  32.             lists = data.strip().split('、')
  33.             for record in lists:
  34.                 rangelists = re.findall(r'\d+-\d+',record.strip())
  35.                 if rangelists:
  36.                     for r in rangelists:
  37.                         nl = r.split('-')
  38.                         print_r(nl)
  39.                 else:
  40.                     print str(number)+','+str(int(areano))+''+str(record.strip())
  41.         col+=1
  42.     row+=1
复制代码

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
发表于 2014-11-21 20:57 |显示全部楼层
1.你是如何学习Python的?看书?看视频?还是?
   平时主要是看书(电子书为主),其他时候遇到问题会在各个论坛进行学习,解答。

2.你工作中有用到Python吗?主要用来做什么?
   主要是做为自己的辅助工具,另外一个项目中使用python编写了一套数据质量系统,用来监控数据波动、主机监控等系统。

3.你觉得Python跟其他脚本语言比优势在哪?
   感觉很傻瓜化,不用写太多的命令,很多函数都已经集成。

4.谈谈Python在自动化运维中的应用。
   python在运维方面的功能很强大,在CU看到一套python的运维脚本很强大。

5.给出一个你自己写的Python脚本(最好有详细注释)。
  1. # -*- coding: utf-8 -*-
  2. import socket,sys,os

  3. hostIp=raw_input('请输入扫描的主机IP(默认为本机):')
  4. portFile=open('c:\portFile.txt','w')

  5. if len(hostIp)==0 :
  6.     hostIp='127.0.0.1'

  7. print hostIp

  8. sc=socket.socket(socket.AF_INET, socket.SOCK_STREAM)


  9. print '正在扫描端口....'
  10. print 'SOCK_STREAM TYPE port:'
  11. portFile.write('SOCK_STREAM TYPE port:')
  12. for port in range(65535):
  13.     sc.settimeout(3)
  14.     #print hostIp,port
  15.     state=sc.connect_ex((hostIp,port))
  16.     if state==0:
  17.         portFile.write(str(port)+'\n')
  18.         print port

  19. print 'DGRAM TYPE port:'
  20. portFile.write('DGRAM TYPE port:')
  21. portFile.close()
  22. print '扫描端口结束!'

复制代码

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
发表于 2014-11-21 21:17 |显示全部楼层
回复 7# reyleon


    谢谢,学习了..................

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-11-22 00:30 |显示全部楼层
回复 7# reyleon

赞一个~
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

【有奖调查】AI时代如何迎接未知挑战?

人工智能一直在医疗行业扮演着重要角色,最早的专家系统和后来的基因诊断都是人工智能技术在医疗的行业探索。近年来,随着深度学习等技术的进步,人工智能在医疗行业的应用领域不断扩展,医学影像智能诊断、语音电子病历、癌症智能诊断等均已逐渐成为热门发展方向。
而作为人工智能重要推动力的深度学习技术的快速发展却亟需认知系统的强力支撑。
----------------------------------------
活动时间:2017年5月15日-6月5日

调查入口>>
  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP