系统管理员不得不知的 10 个基本准则

简介:

作为系统管理员,不仅仅是要知道怎么建立维护服务器和理解系统命令是怎么工作的就可以让你成为一个好的系统管理员——甚至也不是要知道当系统宕掉时怎么去修复,怎么去监控系能,怎么去管理备份或者怎么可以写出漂亮的脚本。而是除此之外还要为自己制定一套能让系统良好运行以及让你用户高兴的规则。

可能其中很多你已经听过无数次,也可能有些是你遇到问题时吸取的经验教训。这些规则在过去几十年的系统管理中都已经证明了它们的价值并且能够帮助我们在脑子发热时冷静下来。


 

1. 禁止做任何不能回滚的操作

除了一些最简单的修改,你应该备有回滚方案。当你进行改动时想好了回滚方案吗?有很多办法可以在修改的途径中留下技术上的“面包屑”,这能够让你随时回到你开始的原点。备份你需要编辑的文件,可能是你记不住的一些复杂的配置文件。记录下你遇到的问题。在进行生产环境之前先在测试环境下测试,在你继续之前确保所有的修改都是合理的。

提前计划好需要改动的地方,最好能够采取同行评审的方式。另外一双眼睛可能可以看到你没有考虑到的问题。

2. 凡事弄清楚根本原因

去挖掘你所碰到问题的根本原因。当怀疑的时候,用“五个为什么”原则。我的服务器宕了,为什么?是因为内存不够。为什么不够?因为其中一个进程“疯了”。为什么“疯了”?因为它进入到循环中。为什么进入?因为配置文件中有错误。为什么有错误?因为我在周五晚上离开之前修改了文件,但是忘了测试确保所有一切都可以正常工作。

3. 定期实践灾备方案,确保备份数据可用

实践灾备方案在必要的时候能够顺手使用。如果你不实践,有两种可能会发生。第一,你没有信心你的方案是否有用,第二,你可能会不确定你所要采取的措施。比如说,你需要迁移数据库到一个远程站点。你是否知道你要运行的命令?准备好数据备份了吗?还是需要去创建备份?你是否知道迁移文件需要多久?你是否会准备好远程启动数据库?你是否有一套测试来检验其能够很好地运行?

4. 不要依赖没有完整测试过的脚本

这很容易犯错的。即使你已经写了几十年的脚本也要去测试,特别是可能别人在某天会运行这些脚本。带参数测试和不带参数测试。模拟其他人可能会犯的错误。总之,必须要测试脚本。

5. 三次以上的重复和复杂的操作,必须自动化

在别名、函数和脚本中使用你最熟练的命令并且赋予它们有意义的命名。将那些复杂的过程写进到脚本中,你就无需每次都要去想那些必要的步骤和复杂的命令。这样你会在费时费力的工作中节省很多的时间和精力,并且在需要其他人为你工作时,让你有更多的轻松时间。

6. 记录你的工作,并建立文档沉淀下来

用文档记录下你的日常工作。你做的事里面有哪些对别人来说不好理解?可能你要跑个脚本在日志文件中查找磁盘吃紧或者数据中心湿度太高的警告。

往脚本中添加注释。你可能会觉得你用的那些命令很显而易见,但是当你隔了一两年没用再回去用的时候就不会那么显而易见了。不要为了简洁而牺牲了可读性。别人可能会要读你的代码。完整地写下你所做的一切,别人能够在你决定跳槽时候很好地接手你的工作。

7. 重视你犯过的错误,并找到避免再犯的方案

用你自己的方式去理解错误是避免再犯的唯一方法。重视你所做错的并且注意那些多次犯错的类型

可能是你忘了修改默认密码从而密码过期导致启动的服务宕了;可能你没有去验证备份是否可用;也可能是当其他人离开公司时你忘了封锁他们的账号。不管什么问题,需要注意记录你的疏忽并且找到一种可靠的方式来提醒自己容易忘记的事。

8. 跳出管理员角色思考问题

经常问自己问题,比如“别人会不会误用这个呢?”,“别人会不会弄坏这个呢?”,以及“这个服务会怎么收到攻击?”给所有的脚本设置权限使除管理员以外其他人都无权查看。想一些防守措施能够让你减少很多痛苦。而且,对管理服务器来说,妄想症是优点。

9. 务必注意系统安全性

安全方面的投入是要与你所保护的数据成比例的。要知道你在保护什么,知道你所保护数据的“主人”。运用一些最佳的实践方案,比如最小特权、定期补丁、监控关键服务以及漏洞检测。仅仅只运行你所需要的服务。时刻警惕任何强行闯入或者系统受损的迹象。准备好上报渠道能够让你知道什么时候以及向谁汇报这些系统受损现象。

10. 不要停止学习新技能

就像逆水行舟,不进则退。经常找些新东西来学习。你将准备好承担新的责任甚至可能在裁员中幸存。如果你没有把握去学什么,那就去看心仪工作的职位介绍。怎么让自己符合标准?那些技术是高需求的吗?你是否可以每天腾出一点点时间来学习新东西呢?


本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1896809,如需转载请自行联系原作者

相关文章
|
6月前
|
JavaScript 前端开发 程序员
PHP程序员的成长之路
在当今信息技术飞速发展的时代,成为一名优秀的PHP程序员并非易事。本文将探讨PHP程序员在技术领域的成长之路,从初学者到专家的转变过程,以及在这一过程中所面临的挑战与应对方法。
|
存储 Android开发
解决了一个大家都有可能遇到的奇葩权限问题
解决了一个大家都有可能遇到的奇葩权限问题
解决了一个大家都有可能遇到的奇葩权限问题
|
编解码 前端开发 程序员
PHP程序员必须知道的5个潜规则
PHP程序员必须知道的5个潜规则
82 1
PHP程序员必须知道的5个潜规则
|
安全 Linux 网络安全
害怕Linux SSH不安全?这几个小妙招安排上!
害怕Linux SSH不安全?这几个小妙招安排上!
253 0
害怕Linux SSH不安全?这几个小妙招安排上!
|
Ubuntu Linux
Linux工程师如何不被工作打扰,专心与女神约会?
作为 Linux 工程师,很多工作是在命令行下完成的。有时候我们执行一个命令,可能需要很长时间才能完成,比如 sudo apt-get update ,或者编译一个需要花费半小时的系统,如果我们啥也不干就干等着结果,那效率未免也太低了。
112 0
Linux工程师如何不被工作打扰,专心与女神约会?
|
消息中间件 自然语言处理 监控
这些最常用的Linux命令,每一条都应该会,没有借口!
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。
|
程序员 PHP Linux
php程序员经常忽略的冷门知识点
有些时候我们习惯了主流的方法,每一步都按部就班的写代码,殊不知,我们可能会遗漏一些好的想法和知识点,接下来我就谈谈那些容易呗忽略的php知识点。 array_filter函数,这个函数是通过回调函数对数组进行过滤,可以说很强大,并且回调函数为空的时候,可以去除掉数组的中空元素。
654 0
|
Linux Shell 开发工具
|
网络协议 Unix Linux