4006-998-758
3000+课程任你选择
高级Linux Shell脚本与自动化
研发学院 高级Linux Shell脚本与自动化 开课时间:2024-07-18
尹会生

他维护过日活超过 3 亿用户的微博私信平台,搭建过云主机超 5000 台的私有云平台,也为大型游戏的运营构建过大数据分析工具,做过集群和内核调优的培训,也做过嵌入式 Linux 内核的裁剪。实际工作中使用 Python 开发了大数据采集和分析平台,使用Django (Python 语言编写的 Web 框架)实现了公司基础架构统计工具,同时还在使用 Python 与 TensorFlow 进行游戏、大数据、深度学习相结合的研究工作。

曾参与编写 《白话大数据与机器学习》 《运维前线》等书籍。


查看老师详情
课程内容

课程大纲

1、 通过Shell进行文件处理

l 单文件处理命令: tail, head, cat,  more, less, wc

Ø   实战:查看日志文件,显示头尾内容,分页查看,统计行数

l 管道符|和重定向>, <, >>

Ø   实战:对命令输出进行过滤、写入文件、追加文件

l 文件内容提取

Ø   grep: 过滤整行,正则表达式,-A/-B上下文,-c计数,-v反向,-F固定模式等选项

Ø   awk: 按列过滤,循环操作,内建变量,printf格式化输出

Ø   sed: 替换,地址范围

Ø   实战:从日志提取错误信息,去除特殊字符,统计数量,格式化输出

l 正则表达式进阶

Ø   元字符,限定符,分组,反向引用,零宽断言,非贪婪模式

Ø   POSIX字符类,GNU扩展正则

Ø   实战:匹配URL、Email、IP等,提取文件名,路径

 

2、Shell脚本编程基础回顾

l Shebang,脚本执行方式

l 变量,特殊变量,位置参数,引用

l 条件语句if,case

l 循环for,while,until,select

l 函数,参数,返回值

l 命令替换,引号

l 数组,关联数组

l 字符串操作

l 算术运算,(())和let

l 多文件处理

Ø   实战:合并多个文件,添加统计信息头,改名归档

 

3、服务器运维自动化

l SSH密钥认证,ssh-keygen,-f指定路径

l SSH执行远程命令和调用远程脚本,scp复制文件和文件夹

l pssh/pscp并行操作多台主机,pssh选项,-i指定密钥

 

4、容器化应用部署

l 镜像的获取和创建,Dockerfile

l 容器的管理,资源限制

l 部署MySQL,Redis,Nginx等

l 数据卷,链接容器

l Docker Compose编排多容器

l Docker Machine跨主机集群

l 实战:部署WordPress网站,配置主从库

 

5、远程修改服务器配置

l sed远程修改配置文件

l ssh修改配置,触发服务重启

l Ansible入门

Ø   主机清单编写,patterns匹配主机

Ø   playbook编排,handlers,tags标签

Ø   常用模块:shell,command,copy,template,file,service等

Ø   角色roles复用,任务剧本引用

Ø   实战:收集主机信息,分发文件,管理服务,负载均衡配置修改

 

6、总结与实战演练

l 综合场景模拟:主机批量部署、应用发布上线

l 常见问题解答、故障排查技巧

l 复习重点,扩展学习方向与资源推荐

 


返回上一级