1.linux系统基础,不用说,是最基本的基础,连这个都不会的话那就没必要学运维了。
2.网络服务,服务有很多种,每个公司都会使用不同的服务,但必须掌握基本服务,如FTP、DNS、SAMBA、电子邮件,这些可能可以学习,LAMP和LNMP必须熟练,我指的不是建造,而是熟悉相当多的配置,因为公司最关键的绝对是WEB服务器,所以nginx和应用程序必须熟悉,特别是nginx必须非常熟悉,至少有些公司会使用tomcat,这也是最好的学习。事实上,网络服务不用太担心,一般公司的环境已经建立,即使有新的服务器或让你整改,公司会有相应的文档供你参考,不会让你混乱,但至少相关配置必须熟悉,必须编译安装,这些模块应该熟悉他的角色,尤其是PHP模块。
3.shell脚本和另一种脚本语言,shell脚本是运维人员必会的技能。如果你不明白这一点,你甚至不能进入这个职位。至少你应该写一些系统管理脚本。最简单的是写一个监控CPU和内存比率的脚本。这是最基本的。不要以为你会写猜数字和计算什么数字。这些都没有效果。写系统脚本是最有意义的,另一种脚本语言是可选的。一般来说,它是3P,即python、perl和php。php不需要考虑,除非你想做开发,我个人建议学习python会更好,很难实现自动化操作和维护。perl具有很强的文本处理能力。不管怎样,这两个只需要学习一个。
当然,以上是最基本的。
让我们来谈谈运维的典型案例:有一个朋友在做运维,他做得很好。他懂硬件防火墙和交换机。他可以写python和shell脚本。他还知道高可用性和容器化技术。他通常与研发合作,发布自动化环境。他有近6年的工作经验。然而,即使他不高,他也是公司唯一的运维经理。他只有11k,两年没有加薪。几乎所有公司的运维都应该听从R&D团队的要求。感觉像是为R&D服务。让我们换个工作,但是运维岗位很少,一家公司只有1-2个坑,竞争很大。