怎样做一个优秀的(懒惰的)系统管理员
如果你是一个普通的系统管理员,你感到人员不足,资金不足,工作过度。到现在,你已经习惯了这种观点:没有人会意识到你的存在直到邮件服务器瘫痪了,然后你突然成为了美国人最需要的人。在这篇文章中,我假设你负责管理有很多服务器。我也假设你不是真的会尽可能的努力工作;如果你是这样,你应该成为一个Windows服务器管理员,开始担心来自微软的补丁,安全弱点,病毒防护,一个笨拙的用户界面,天生的缺少脚本。我并不是说 Linux是完美的,但就是有很多事情使得Linux更加容易来管理。
作为一个优秀的系统管理员,你想要把工作做好,但是一个懒惰的系统管理员,你不想工作很费力的完成。在这篇文章中,我将会分享你可以做的一些简单的事情使得你的工作更加容易。
这些年来,我发展了一种曼特罗,“如果我不得不作一件事情超过一次,我就写脚本来完成它。”比如说,如果我需要每天早上检查我的服务器的健康状况,我会写一个脚本来收集信息,格式化它,把结果以邮件形式发给自己。如果我需要在12台机器上作配置改变,我会些一个脚本来完成这件事。刚开始,你可能会认为手工来完成这些工作会和编写和调试一个脚本来完成工作一样的简单。但是那里隐藏着一些优势在我的工作方法中。一旦脚本很好的工作,人物就会成为可重复的并且可以委托给一个下层的技术员,或者自动完成。基本上,你不需要作所有的事情;它会自己完成所有的事情。我们不久将会更多的谈论脚本。
为了促进脚本任务和管理多服务器,首先我要做的是在每一个服务器上配置基于认证的鉴定。在每一个服务器上这只需要几分钟的时间并且它真的可以让你的生活更加的轻松。因为你不用再输入密码,文件传输,支持和维护任务可以通过脚本完成。因为在因特网上有很多的简单的命令是关于怎样配置基于认证的鉴定的,在这里我将不会浪费时间来讲这些事情。
一旦我们使得鉴定正常工作了,让我们开始让我们的俄生活变得更加轻松吧。我喜欢做的是建立一个shell脚本导出有用的变量,比如
# servers.sh
export MAILSERVERS="server1 server2 server3"
export WEBSERVERS="www1 www2 www3 www4"
然后我可以下一个像这样的简单的脚本:
#!/bin/bash
### Assess disk space on mail servers
source ./servers.sh
for i in ${MAILSERVERS} ; do
echo =========${i} =============
ssh root@${i} "df"
echo ============ =============
done
这个简单的脚本允许我很快的得到我的所有的邮件服务器的磁盘使用情况。它也可以作为一个其他相似任务的模板。当我想通过脚本完成另一个任务,我会拷贝一份这个脚本,在顶部替换一些内容来描述新的脚本的用途,替换for循环的主体。
要注意的是所有我的脚本都会来源于servers.sh文件,所以我有一个配置的中心点。当我增加或者删除一个服务器时,我就会简单的改变这个文件。
并且,注意在文件顶部的内容。一旦你在一个单一的目录中有大约50个不同的脚本,你可以象这样开始给它们命名
assess_the_disk_space_on_mail_servers.sh,而我拒绝这样做。所以,当我需要指出那个脚本做什么,我会打:
grep “###” *
这给我一个脚本的列表和一个它们任务的简单的描述。
[2] 下一页
- 最新评论