基本信息
- 原书名:Automating UNIX and Linux Administration
- 原出版社: Apress
编辑推荐
使用本书的技术,您就能接近全自动化系统管理的理想世界。虽然经常会有不可预料的因素导致麻烦产生,我们至少能把一些重复的具有代表性的任务交给电脑去做。至于如何让您的老板相信您,让您一周只需工作的一天,这就要看您的了。
内容简介
计算机书籍
[font color="#FF6600">本书内容特色:
· 讲授如何自动执行日常的系统管理任务
· 研究自动化原理和流行的工具软件,阐述如何用bash和Peri开发自定义解决方案
· 探讨常见的程序,如GNU cfengine、RPM、CVS、rsync、AutoRPM、Logwatch和OpenPKG[/font>
自动化系统管理技术可以帮助系统管理员从繁重枯燥的任务中得以解脱。本书利用目前流行的bash、Peri、grep、sed等工具软件详细地讲解了自动化系统管理领域最为实用的核心技术。主要内容涉及登录脚本、网络管理、自动化系统配置、数据共享、程序补丁、系统维护、系统监控、数据备份和系统安全等。 本书适合系统管理员以及准备学习系统管理知识的读者阅读。
作译者
目录
1.1 是否需要自动化管理
1.1.1 采用多种系统的大型公司
1.1.2 成长中的中型公司
1.1.3 Internet服务提供商
1.1.4 应用服务提供商
1.1.5 Web服务器群
1.1.6 Beowulf簇
1.1.7 网络设备
1.2 阅读本书的收获
1.3 系统管理员的任务
1.4 提供用户界面
1.5 选用正确的方法
1.5.1 均衡系统
1.5.2 推和拉
1.6 处理用户和管理员的关系
第2章 使用SSH安全地进行自动化系统管理
2.1 SSH基础
2.2 使用SSH增强安全性
前言
使用本书的技术,您就能接近全自动化系统管理的理想世界。虽然经常会有不可预料的因素导致麻烦产生,我们至少能把一些重复的具有代表性的任务交给电脑去做(当然,发明电脑的初衷就是为了使我们的生活变得更加轻松)。至于如何让您的老板相信您,让您一周只需工作一天,这就要看您的了。
自动化的优越性
在大多数场合下,采用自动化的动机是为了节省时间。我们是忙人,我们的时间是有价值的。我们宁愿写一个脚本来添加用户,而不愿重复地手工添加用户。节省下来的时间可以处理不易自动完成的事情(或者是一些更有趣的事情)。当然,自动化系统管理的好处不止这些,还有一些好处不是这么明显。
在很多情况下,一些人因为没有足够多的相关知识而无法独立完成某些任务,而自动化方式则能为其代劳。在您手下工作的没有经验的系统管理员以及为公司提供技术支持的人员中都不乏其人。自动化让每一个人的生活变得更轻松。他们没有必要经常打扰您,而您也不用每天不得不回答同样的问题。
同等重要的是您采用自动化系统管理而自然形成的文档。比如,为了增加一个新账号,除了在文件服务器里创建该账号的home目录,设置自动挂载表外,还得把该账号添加到passwd文件、shadow文件以及group文件。在绝大多数管理任务中,您通常会很详细地编制文档,遵循循序渐进的操作步骤,但有时您也会一时疏漏某项特定的任务。
这就是自动化管理最有意义之处。如果您编写了一个脚本来完成添加用户所要求的所有操作,就相当于已经卓有成效地写好了一个操作指南,阐述如何创建一个新账号。如果在脚本里添加了一些有用的注释,也就同时为操作编写了文档。即使您3个月以来没有添加任何新账号,这个脚本仍然唾手可得的。即使假设这个脚本已经过时了,在运行当中会出现错误,您依然知道脚本中的哪些操作可能存在问题,哪些操作可能运行正常。只要对这个脚本稍加修改就能让它继续工作。
使用自动化技术
即使限制在单系统环境下,自动化技术依然是有益的。不管是多么简单的系统,也不管是多么微小的系统,繁琐的日常操作仍然需要去做,日志仍然需要被监视。当然,在跨系统部署时,自动化管理才真正体现出它独有的优越性来。
管理成千上万台机器是一件很惬意的事情,然而如果处理不当的话,这也会是一场噩梦。为了避免噩梦的发生,减轻以后的工作负荷,请确保事情从开始就是正确的。当然,如果管理的只是现有的几台机器,为了让您的生活变得更轻松,同样有很多可做的事情。因此就算您不能从头开始,您依然会发现本书是大有帮助的。比如,您可以使用一些方法让您现有网络中的机器自动实现标准化。
如果您管理着多台机器,可能您会想,如果所有的机器有着同样的硬件、操作系统和软件该有多好。有时候这是可能的(例如,如果您正在使用Beowulf簇的话);不过通常这是不可能的(尤其是在有着1,000多个程序员的软件公司里)。本书同时适用于一致的和混合的Unix环境。虽然我所举的例子可直接应用到Linux和Unix环境,但是您可以把这些思想运用到任何系统环境中。
谁将从中受益
这本书是写给有经验的系统管理员的,这并不是说您必须是一个专家才行,而是说在您有了一定的经验之后,才会发现本书的真正价值所在。例如,如果在不查找参考手册的情况下,您记不起来如何挂载一个文件系统,那么本书对您来讲也许难度大了点。
除了假设您能够执行一些基本的系统管理任务外,还假设您能熟练使用Peri和/或bash脚本。另外,希望您能理解基本的正则表达式语法。
如果您是学生,正在运行Linux服务器,那么本书是适合您的。如果您在管理几台Unix系统,那么本书也会对您有所帮助。如果您管理着一些Unix工作站,一组Unix服务器,一个Web群,或者一个Beowulf簇,相信本书将成为您的良师益友。
本书涵盖的技术
本书阐述了3种解决自动化问题的途径,在实际操作中您可以选用其中一种:
开放源代码软件:开放源代码解决方案可以解决本书所阐述的大多数问题,但是我不会涉及开放源代码方案所能解决的每一个问题。我将分类阐述最流行且最为成熟的软件。它们包括GNU cfengine、Logwatch、Swatch、AutoRPM以及NetSaint(该程序当前作为Nagios正在开发中)。本书不是其中任何一个软件的完全教学手册,但是它确实提供了足够多的信息来帮助您考虑和着手使用这些程序。
就在本书中提供:
定制脚本和软件:本书的另一个焦点是定制解决方案。既然开放源代码解决方案已经存在,为什么我还要提倡定制解决方案呢?如果可能的话,我建议您使用现有的解决方案。然而,在很多场合下,现有的解决方案过于复杂,功能却不够强大,或者对您特定的需求来说限制太多。而且,有如此多的自动化管理领域并没有现成的解决方案。这通常是因为每个案例的情况都会有明显的差异,或者您所需求的解决方案过于简单,难以为此开发专门一种产品。