Ⅰ 运维工程师必须掌握的基础技能有哪些
技能:
1. linux基础
包括对Linux整体的理解/使用和基本命令:
了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)
入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书
基本操作命令:Google,如Linux command cheat sheet
熟悉至少一个内置编辑器: vi, nano
至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版
2. 运维的命令:
运维相关的工具(命令),了解它能解决很多问题。
前几天刚回答了一个问题:如何才能更深入的学习linux?
里面的图在这里也可以用到:
可以对着图对学习了解这些命令。
另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki · Tanky Woo
3. 基础服务:
LAMP或LNMP :Apache/Nginx,MySQL,PHP/python/Perl LAMP (software bundle)
FTP
DNS
SAMBA
EMAIL
NTP
DHCP
...
可以本地搭建练练手
这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)
4. 运维平台工具:
也在这个问题 如何才能更深入的学习linux? 里提到了:
Nagios
Puppet
Zabbix
Cacti
SaltStack
....
可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。
5. 脚本:
必备:Shell
额外:Python,Perl...
6. 底层:
Linux C,内核
7. 网络:
网络是非常重要的一块
把《TCP/IP协议详解》多看几遍,理解。
熟练使用tcpmp等抓包工具
8. 安全:
防火墙配置,如 iptables
9. 硬件:
接口类型
查看硬件信息
知道各类型服务器,如塔式、机架式、刀片式
10. 其它:
了解更多特定技能要求的方式:
Google搜"Linux运维工程师 招聘",看看他们的需求。
最后推荐一本书:Unix/Linux系统管理技术手册 UNIX/Linux 系统管理技术手册 (豆瓣)
后续想到再做补充
素养/处理方式:
除了技能,我觉得素养(态度)也可以谈谈
这个正好看到右边相关问题:运维工程师需要具备哪些性格特质?
1. 安全
运维人员的权限很大,所以一定要保证帐号/私钥的安全。
最好使用加密工具存储。比如truecrypt,1password
基于本地存储。切勿用网盘,也不建议用lastpass等
ssh私钥添加密码
以上任何一点都很重要,否则弄丢了,风险会非常大。
2. 责任心
如上面那个帖子里 @山大 提到的 Owner 意识
遇到报警,第一时间处理,而不要等着他人去处理
如果无法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖
3. 细心
你的任何一个操作,都可能造成系统的损坏、业务出问题。所以敲命令时一定要细心、再三确认。你敲的再快,也就节省那么一点时间,出了问题才是大事。
4. 推进/改善
如果代码有问题,导致系统开销很大,比如负载,io等。应该第一时间和开发部门确认,要求优化代码。
5. 进取心/不断学习
运维的知识范围很广,要不断学习。遇到问题,做好分析记录,事后还可以在部门内分享交流。
这也是我为什么热衷于写技术博客和维基的原因,好记性不如烂笔头。记录整理的过程也是一个思考升华的过程。
再给一个干货,我们公司(知道创宇)的技能表:http://blog.knownsec.com/Knownsec_RD_Checklist/v2.2.html
里面涵盖了部分Linux SA需要的技能。
http://www.secpulse.com/archives/5287.html
Ⅱ linux杩愮淮宸ョ▼甯堥渶瑕佸︿粈涔堣剧▼
linux链鍏堣佸︾殑鏄疞inux锘虹鐭ヨ瘑锛屽﹀畬锘虹鐭ヨ瘑镓岖畻鍏ラ棬锛屼箣钖庤缮瑕佸︿範缁煎悎鏋舵瀯銆丼hell缂栫▼銆佹暟鎹搴撱佷簯璁$畻浠ュ强缃戠粶瀹夊叏鏂归溃镄勭煡璇嗭纴浠ヤ笅鏄痩inux锘虹閮ㄥ垎瑕佸︿範镄勫唴瀹癸细
1. 璁$畻链虹‖浠躲佺粍鎴愬师鐞嗐佹搷浣灭郴缁熷熀纭銆丩inux璧锋簮銆佹牳蹇冧粙缁嶅强Linux瀹夎呭疄鎴桦叆闂
2. Xshell杩灭▼缃戠粶杩炴帴Linux銆佸熀纭浼桦寲銆佽繙绋嬭繛鎺ョ绣缁滃熀纭銆乆shell杩炴帴鏁呴㱩鎺挜敊銆佹牳蹇冨熀纭锻戒护璁茶В
3. Linux绯荤粺镙稿绩阃氶厤绗︿綋绯汇佷笁鍓戝锛坓rep,sed,awk锛夋牳蹇冩e垯琛ㄨ揪寮忕簿璁插强浼佷笟绾ф堜緥瀹炴垬妯℃嫙绮捐
4. Bash镙稿绩绗﹀彿銆佸揩鎹烽敭銆侀氶厤绗﹁﹁В
5. Linux鐩褰曘丗HS\鎸傝浇銆佹枃浠跺睘镐с佹牳蹇幂洰褰旷簿璁
6. Linux鏂囦欢鍙婄洰褰旷$悊镙稿绩鐭ヨ瘑鍜屽懡浠ょ簿璁诧纸绗浜屽叧锛
7. Linux浼佷笟绾у熀纭浼桦寲锛埚伐浣滀腑鍙鐩存帴浣跨敤
8. Linux鏂囦欢鍙婄洰褰曟潈闄愮簿璁插强澶氢釜浼佷笟妗堜緥妯℃嫙
9. Linux閲嶈佹牳蹇冨懡浠ゅ洖椤句笌娣卞叆绮捐诧纸绗涓夊叧锛
Ⅲ 运维工程师为什么要学python
Python本身的优点就是简单、易学、速度快、免费、开源、高层语言、可移植性、解释性、可扩展性纯岩、可嵌入性、丰富的库、独特的语法,因此成为现在编程的必备语言。作为胶水语言,它能够把其他语言制作的各种模块轻松联结在一起,比如C、Java,Python的魅正郑力更加独特,其他语言几百行、几千行完成的任务,Python只需要十几行即可。
为什么学习Python?是因为Python在系统运维上的优势在于其强大的开发能力和完整的工业链,它的开发能力远强于各种shell和Perl,由于shell本身的可编程能力较弱,对很多日常维护中需要的特性支持不够,也没有现成的库可以借鉴,各种功能都需要从头写起,所以说shell脚本力量不够。
Python除了做清御易读、易写更兼具面向对象和函数式风格,还有不错的编程语言,已经成为IT运维、科学计算、数据处理、人工智能等领域的主要编译语言。
Ⅳ 如何自学 Python
其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。
我是真正零基础开始学Python的,从一开始的一窍不通,到3个月后成功搭建了一个动态网站(没有用任何框架)。相比于计算机大牛,我更加知道一个小白将会遇到什么坑,遇到哪些难点。我把我的学习过程写在下面,并附上在每个阶段的学习资料,希望对零基础的Python学习
Ⅳ 如何做好python自动化运维
随着移动互联网的普及,服务器运维所面临的挑战也随之越来越大。当规模增长到一定程度,手动管理方式已经无法应对,自动化运维成为解决问题的银弹。Python凭借其灵活性,在自动化运维方面已经被广泛使用,能够大大提高运维效率,服务器集群的规模越大,优势越明显。现在不论是Linux运维工程师还是Unix运维工程师都需要掌握Python,以提高运维效率。
第一个阶段:初级,掌握Python的语法和一些常用库的使用
掌握一门语言最好的方法就是用它,所以我觉得边学语法边刷Leetcode是掌握Python最快的方式之一。