本文共 2992 字,大约阅读时间需要 9 分钟。
导读 | 有些 Unix 管理员常常连续工作好几个小时,处理一大堆重要事情,但他们的工作却很少获得好评,而另一些看上去很傲慢的管理员,即使对最简单的问题也倾向于使用优雅的解决方案,他们对运用正则表达式来解决遇到的任何挑战的能力引以为豪,他们也真是懒到骨子里了 —— 即使做的是日常工作,他们也不断的寻找方法,以敲更少的字符。当技术和知识积累到一定程度,如果他们养成一些类似《高效人士的七个习惯》书中所讲的习惯,他们可以做更多的事情并且从工作中获得更多好评。有鉴于此,这里推荐了高效 Unix 管理员的一些习惯。 |
避免紧急事件(让你疲于应对的那种)的一个办法是,在问题的萌芽期将其消灭。我发现在服务器上安装脚本很有用,这些脚本会在事情看起来不正常的时候通过邮件通知我,比如报告异常日志,检查性能和磁盘空间统计,报告应用程序失败或进程丢失。这么做的风险是这种邮件变得越来越多时,会导致当消息停止或被识别为垃圾邮件时,你其实没有看过或没注意到。注意到有消息没到达,就像注意到你的12或更多个人组成的团队中有个人没来开会一样困难。
要做到先发制人,在它们导致中断之前,在用户注意到问题或发现他们不再能完成工作之前,你很可能发现很多问题。如果你拥有应对灾难所需的资源来也会很有帮助。如果一台主服务器停止工作了你会进行故障转移吗?你会用备份快速重建服务环境吗?你有没有定期测试备份以确保它们完整可用?为关键服务准备灾难计划(比如,邮件服务可以迁移到数据中心的空闲服务器上,NIS+ 服务器可以用副本来启动)会让你免于在压力下变得手忙脚乱和浪费太多时间。
可能找出你的哪台服务器出问题的最快方法是,熟悉它正常情况下的状态。假如一台服务器通常使用50%的内存,突然间用到了99%, 你会想知道发生了什么。现在是什么进程在跑,之前不是这样的呀?什么应用比平常用了更多的资源?精通一套查看性能、内存使用等的命令,我通常用 sar 命令,也鼓励别人使用它 , 我用它来查看目前系统发生了什么的同时也用它回顾以往以找出问题发生的时间。我在我最关键的服务器上运行的一个脚本发给我足够的数据,让我可以快速查看最近一两周的性能指标。
在问题发生的时候练习所有可能有用的命令也是个好主意。你能构造一个 find 命令帮你识别可疑文件,大文件,和权限有问题的文件吗?你需要分析一个程序的时候,知道如何使用一个好的调试器真是有如神助。当你的系统受到攻击的时候,知道怎么检查网络连接也很重要。
谈到你如何安排工作的时候,把重要的事情放在首位是毫无疑问的,但有时候选择哪一件事情更优先要比看起来更困难。想要合理的安排任务的优先级,你必须考虑解决问题所带来的价值。对我来说,问题影响到的人数常常在我的考虑范围之内,但也要看被影响到的是谁。你的 CEO 可能必须等同于 1000 名员工,但只有你(或你的老板)能做这个决定。你还应该考虑他们受影响的程度。这个问题指的是,他们根本没法工作还是只是给他们的工作带来干扰?另一个确定优先级的关键因素是解决问题需要的时间。除非我正在解决的问题需要断电,我会尽快做完可以快速解决的。对我而言,这个类似超市的少量购物结算通道(美国的超市结算台有“不多于10件商品”与“超过10件商品”之分)。如果我可以在几分钟之内解决一个问题,回过头再做那个可能要花费我所有剩余时间的更重要的问题,我会这么做。如果觉得这个技巧有用,你可以设计自己的量化系统来计算任务的优先级,但不要太复杂。评定问题严重程度的 “value” 可以从1(不严重)到5(严重),影响到的人数也从 1(一个人)到 5 (每个人),需要的时间可以是, 1(星期),2(天),3(小时)和 4 (分钟)。某种程度上用量化的方式来确定优先级总是个好主意。
严重程度 × 影响到的人数 × 需要的时间 = 优先级 (最高优先级 = 优先级的最大值) 3 * 2 * 2 = 12 问题 #1 5 * 1 * 4 = 20 问题 #2这里问题 #2 会排在任务列表的第一位。
本文转载自:
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好: