身为一名中高级运维工程师,需要掌握的技术如下:
linux系统的基本操作(ls,mkdir,touch,date,find,-exec,diff等等等等)
至少要awk,seq命令的中级使用(包含太复杂的函数先不说)
具备写shell的能力(掌握for in、case、while语句)
具备部署contab的能力
具备部署iptables的能力
具备能给磁盘扩容的能力
具备raid硬盘多种备份的能力
掌握linux下发送电子邮件的语句
Python/C/Ruby等语言的基本编程能力,会其中一个就可以了,但是可不要满足于写个小游戏、写个爬虫、写几个数字来回算一算那种简单程序,而是在实际生产中切切实实能用到的。比如说能在成千上万的数据里挑出所需要的数据,能分离所需要的数据,能结合文件进行操作,真真正正达到自动化运维的目的。
Zabbix/Nagios安装和基本配置,会使用他俩发送邮件/微信报警,能根据不同的要求独立写监控脚本更佳。
Http方面的基础知识(现在要求对https也要有了解了),能知道缓存的原理,tcp/ip原理,tcp包头,udp包头等等知识。
掌握DNS的原理,又动手搭配DNS服务器的经验更佳。引申一下,要了解CDN的知识。
cobbler:这是根据ip地址批量安装服务器的工具。会PXE网络启动服务器的技术。批量安装centos系统,请看http://kerry.blog.51cto.com/172631/648430/。
puppet:这是根据ip地址/主机名保证每台服务器的软件都是一个版本。
mysql:很火的数据库,掌握基本的增删改查、热备份和优化技术。
Nginx/Apache:没什么好说的,他俩就是爹!
xshell/putty:远程链接操作服务器的软件,知道如何使用pxe进行远程网络启动。
java/ajax/PHP:这个的话选学,如果单独钻研的话就已经是大牛,在运维的基础上会java等语言的话更是牛上加牛,月工资至少还能多2000~3000,在结合前端测试的事情上,懂那几个语言更是如虎添翼,直接增加核心竞争力。
再往后就是能独立看源码写模块,有github背景。
运维工程师的天赋树往上点就是DBA(大数据分析方向)、资深运维主管和系统架构师(我个人觉得这个是终极天赋了),这几个基本都是大牛的水平,到时候在北京月薪5万,股票分红,年终奖拿个二三十万不是事儿,争取在四十岁之前做到的话,那么后几年就会轻松不少。
大牛之路,如此辛苦,加油吧。