|
|
|
|
移动端

前言

《Python Linux系统管理与自动化运维》本书介绍Python语言在Linux系统管理中的应用,包括编写Python脚本管理Linux系统,使用Python编写的自动化工具管理Linux系统,以及使用Python打造专属的管理工具等。本节为前言。

作者:赖明星来源:机械工业出版社|2017-09-28 14:54

前言

为何写作本书

我第一次接触Python是在2008年的时候,当时还是一名大学生。有一位非常优秀的学长通过《黑客与画家》这本书了解到Python语言,并且认为Python将在未来几年迅猛发展,在各个应用领域都会大有可为。因此,在国内还没有广泛使用Python语言时,这位学长便推荐我学习Python。现在的Python语言,流行程度已不用我多言,这一方面证实了Paul Graham(《黑客与画家》的作者)的远见卓识,同时,也反映出这位优秀学长的聪明睿智。从这件事中,我深切地感受到要多与人交流,尤其是要与那些比自己优秀的人交流。正是出于和大家交流的想法,我将这些年的Python使用心得,以及在网易云开发与运维的经验汇集成一本书,也就是你现在看到的这本书。

如果大家身处互联网,一定能够切身地感受到Python语言的流行程度。Python语言由于其简单易学、语法优美、应用领域广泛等诸多优点,俘获了大批的粉丝。通过Google搜索指数可以看到,Python语言在最近两年出现了爆发式的增长,其在编程语言排行榜上的排名,从第8名一跃上升到第4名,并且有继续上升的趋势。越来越多的公司高薪招聘Python工程师,越来越多的世界名校开始讲授Python语言,越来越多的项目使用Python语言进行开发。因此,从各个角度来说,Python都将大有可为,学习Python将是一个正确的选择。

伴随着云计算的高速发展,Python在系统管理领域也表现不俗。著名的云计算平台OpenStack就是使用Python语言开发的,各大云计算厂商也选择使用Python开发自己的内部系统。并且,由于云计算厂商托管的都是大规模服务器,为了提高运维效率、节约人力成本、快速响应需求,各大云计算厂商都不约而同地使用Python进行大规模服务器的部署和运维。

Python在Linux系统管理中,已经担任了非常重要的角色。但是,讲解Python在Linux系统管理中应用的书籍却寥寥无几,更多都是专注于Python语言、Python爬虫和Python Web开发。难得的几本也仅仅是介绍Python相关工具的使用而已。由于互联网业务的复杂性和多样性,这远不能满足互联网公司的需求,公司更希望工程师能够灵活地使用Python,根据业务需求开发自己的工具和系统。因此,本书不仅会介绍Python语言编写的系统管理工具,还会讲解如何使用Python构建自己的系统管理工具。

主要内容特色

本书介绍了Python语言在Linux系统管理中的应用,包括编写Python脚本管理Linux系统,使用Python编写的自动化工具管理Linux系统,以及使用Python打造专属的管理工具等。

本书以Linux系统管理为线索,以Python语言为载体,介绍了大量Python语言的应用案例。通过学习本书,不但可以使用Python语言管理Linux系统,也为Python解决其他领域问题打下了坚实的基础。书中每一章都会解决某一类问题,并且提供了问题的答案。如Python管理Linux文件和目录,使用Python监控Linux系统,使用Python编写自动化工具,使用Python进行自动化运维等。

通过学习本书,你可以:

掌握Python生态工具,提高自己的开发效率;

学会如何使用Python构建自己的命令行工具;

用Python编写可维护性更强的文本处理程序;

全方位监控Linux系统;

使用Python自动化部署应用;

管理操作系统配置;

使用Python打造MySQL专家系统;

通过Python发送电子邮件。

本书读者对象

本书不是一本讲解Python编程语言的书籍,也不是教授如何使用Python运维工具的书籍,而是一本讲解Python在Linux系统管理中应用的实战书籍。如果你还没学过Python编程语言,建议先学习Python语言以后,再来阅读本书。如果你从来没有使用过Linux,书中部分章节可能会让你感到困惑,不过依然有很多章节可以参考。因此,想要更好地学习本书内容,读者需要具备以下条件:

Python语言基础知识;

Linux使用经验;

了解SSH的使用。

本书虽然主要讲解Python在Linux系统管理中的应用,但是,书中很多例子都具有更加广泛的应用场景。本书的最大特色是提供了大量的实战案例,无论是刚学完Python语言,正在寻找Python实战案例的读者,还是想要学习Python在Linux系统管理中如何应用的读者,都能从中受益。

综上所述,本书适合以下几类读者:

使用Python语言的运维工程师;

想要提高Python技能的开发工程师;

想要了解Python在互联网应用的在校学生;

所有对Python实战感兴趣的读者。

如何阅读本书

本书共分11章,每一章都可以单独成册。你可以从头开始阅读,也可以选择自己感兴趣的章节阅读。

第1章介绍了Python语言的优缺点和Python在Linux系统管理领域的应用,这一章主要回答“为什么学习Python”这个问题。

第2章介绍了多个Python生态工具。充分利用这些工具,不但可以有效提高工作效率,还能形成统一的代码风格。此外,本章还会介绍如何解决Python中的环境依赖问题,包括如何在一台服务器上使用不同的Python版本,如何对不同的项目安装不同的依赖而不相互影响。相信通过学习本章介绍的工具,能够帮助你解决在学习Python过程中遇到的环境问题。

第3~7章主要讲解使用Python编写脚本管理Linux,包括如何使用Python构建命令行工具、如何使用Python处理文本问题、如何使用Python进行系统管理、如何使用Python监控Linux系统,以及如何使用Python处理文档与报告。这几章包含了大量的Python实战案例,如果你学习本书是为了提高自己的Python编程技能,可以重点学习这几章。

第8~10章主要介绍了多个Python语言开发的工具,包括网络嗅探工具Scapy、自动化部署工具Fabric和自动部署工具Ansible,这几章较偏重运维操作。灵活使用这几章介绍的工具,可以有效提高运维工程师的工作效率。Python语言之所以在系统管理和自动化运维领域使用广泛,是因为有很多使用Python语言开发的开源工具。这些工具简单易用、功能强大、扩展性强,是Linux系统管理员的得力助手。

第11章介绍了一个综合案例,即使用Python打造MySQL数据库专家系统。这一章颇有难度。书中使用数据库专家系统为载体,详细介绍了Python中的高级语言特性和Python中的系统架构。这一章不仅会用到比较深入的MySQL知识,还会用到Python的高级技巧。为了打造一个可读性好、可扩展性强的程序,我们使用了不少Python语言的高级特性。充分理解这一章介绍的Python语言高级特性,相信你的Python水平会有一个较大的提升。

需要强调的是,本书是一本实战类的书籍,因此,更多是强调实践的重要性。许多工程师学习Python,学完就忘,忘了再学,循环往复,都是因为实践不充分导致的。本书包含了大量的实战案例,可以作为Python的进阶教材,帮助你举一反三,编写自己的管理程序。

勘误和资源

为了便于实践,书中所有的代码都能够在GitHub上找到( https://github.com/lalor/python_for_linux_system_administration.git )。你可以在GitHub上查看代码,也可以下载到本地运行。

由于水平有限,加上时间仓促,书中难免出现一些不准确甚至错误的地方,恳请读者批评指正。在此,欢迎大家指出书中存在的问题,并提供指导性的意见,不甚感谢。如果你有任何与本书相关的内容需要与我探讨,都可以来本书源代码的Issue页面提问,也可以发邮件到me@mingxinglai.com,或者在知乎@mingxinglai与我联系,我都会及时回复。最后,衷心地希望本书能给大家带来帮助,并祝大家阅读愉快。

致谢

首先,我要感谢厦门大学林子雨老师和腾讯技术总监姜承尧老师。是林老师手把手指导我写论文,才让我具备了写作本书的能力;是姜老师的鼓励和支持,才让我有了写这本书的想法。没有你们的帮助和鼓励,是不可能有这本书的。此外,还要感谢网易技术总监余利华老师,是你构建了这个开放的工作环境,才让我有时间和精力来完成这本书。当然,还要感谢三位老师为本书作序。你们是我的人生榜样和奋斗目标,激励着我不断学习和进步,提醒自己时刻不能松懈。

其次,要感谢网易公司的各位同事们,尤其是RDS项目组和TNT项目组的同事们,能够与你们这样一群才华横溢、激情澎湃的同事一起工作,我感到非常的荣幸和兴奋。也因为在这个开放的工作环境中,我才可以不断进行研究和创新。感谢已经离职了的争神,你的一小部分优秀代码出现在了本书之中。还要感谢曾经一起讨论Python的小伙伴们,包括章洋、王中、李浩成、王新然、毛茂林、翟亮、陈王仡、刘刚、龚俊、戴晨、黄韬、孙旭东、刘云、钱毅、杨浩、李成、宗雅洁、舒雄、彭应龙等。

我还要感谢我的父亲和母亲,虽然他们在本书的写作过程中没有进行直接的帮助,但是,无论我做什么事情他们都无条件支持我,给予了我无条件的爱。我爱你们。

最后,一份特别的感谢要送给本书的策划编辑杨福川老师,你的专业水平和工作态度,给我留下了深刻印象。还要感谢编辑李艺老师,希望我的写作水平没有让你吃太多的苦。此外,还要感谢出版社其他默默工作的同事们。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目      下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

计算机网络原理与实践标准教程

本书深入浅出地阐述了计算机网络技术的基本原理,介绍了当前常用的先进网络技术以及网络的实际应用知识。全书主要内容包括计算机网络概述、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊