Linux系统自动化运维(Python版)(微课版)9787115628244
正版图书,可开发票,请放心购买。
¥
36.84
6.2折
¥
59.8
全新
库存2件
作者张莉,丁传炜主编
出版社人民邮电出版社
ISBN9787115628244
出版时间2024-01
装帧平装
开本16开
定价59.8元
货号14676854
上书时间2024-12-24
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
张莉,副教授,浙江安防职业技术学院大数据技术专业负责人。清华大学访问学者,美国加州大学圣地亚哥分校访问学者,主要从事大数据技术教学和科研工作,主持省级以上科研项目3项,主编教材3部,专利6项,核心期刊发表论文2篇。
目录
项目1 系统自动化运维:从Shell到Python 1 知识目标 1 技能目标 1 素养目标 1 任务1.1 从Shell编程开始系统自动化运维 1 任务要求 1 相关知识 2 1.1.1 初识系统自动化运维 2 1.1.2 Linux系统自动化运维的基本工具——Shell脚本 3 任务实现 4 任务1.1.1 准备实验环境 4 任务1.1.2 编写Shell脚本批量创建Linux用户账户 5 任务1.1.3 编写Shell脚本批量检测主机在线状态 7 任务1.1.4 编写Shell脚本一键安装JDK 8 任务1.1.5 编写Shell脚本监控Linux系统性能 9 任务1.2 使用Python提升系统自动化运维技能 13 任务要求 13 相关知识 13 1.2.1 Python简介 13 1.2.2 Python的模块、包与库 14 1.2.3 Python与系统自动化运维 15 任务实现 15 任务1.2.1 搭建Python开发环境 15 任务1.2.2 编写Python程序监控Linux系统性能 18 任务1.3 使用Python执行外部命令 23 任务要求 23 相关知识 23 1.3.1 subprocess模块简介 23 1.3.2 subprocess模块的便利函数 23 1.3.3 subprocess模块的Popen类 25 任务实现 26 任务1.3.1 使用subprocess模块编程批量检测主机在线状态 26 任务1.3.2 编写通用的外部命令执行函数 27 项目小结 28 课后练习 28 项目实训 29 实训1 编写Shell脚本监控系统性能 29 实训2 编写Python脚本监控系统负载 29 实训3 使用subprocess模块编程创建Linux用户账户 29 项目2 监控系统与调度运维任务 30 知识目标 30 技能目标 30 素养目标 30 任务2.1 采集系统信息和管理进程 30 任务要求 30 相关知识 31 2.1.1 了解psutil库 31 2.1.2 系统信息相关函数 31 2.1.3 进程管理功能 33 任务实现 34 任务2.1.1 使用psutil库采集系统信息 34 任务2.1.2 使用psutil库实现进程管理 37 任务2.2 监控文件系统更改 37 任务要求 37 相关知识 38 2.2.1 了解pyinotify库 38 2.2.2 了解watchdog库 40 任务实现 42 任务2.2.1 基于pyinotify库编写文件系统更改监控程序 42 任务2.2.2 基于watchdog库编写文件系统更改监控程序 43 任务2.3 监控Web服务 45 任务要求 45 相关知识 45 2.3.1 PycURL库简介 45 2.3.2 PycURL库的基本用法 46 任务实现 48 基于PycURL库编写Web服务监控程序 48 任务2.4 调度运维任务 50 任务要求 50 相关知识 50 2.4.1 APScheduler库的组件 50 2.4.2 APScheduler库的基本用法 51 任务实现 54 任务2.4.1 使用Cron服务调度运维任务 54 任务2.4.2 基于APScheduler库编程调度运维 任务 54 项目小结 55 课后练习 55 项目实训 56 实训1 使用psutil库编程获取系统启动时间和登录信息 56 实训2 使用watchdog库编程监控文件的移动 56 实训3 使用PycURL库编程判断Web服务的可用性 57 实训4 使用APScheduler库编程调度监控任务 57 项目3 处理文件内容与配置文件 58 知识目标 58 技能目标 58 素养目标 58 任务3.1 解析和处理文件内容 58 任务要求 58 相关知识 59 3.1.1 字符串及其操作 59 3.1.2 文本文件的读写 60 3.1.3 编码和解码 61 3.1.4 正则表达式 62 任务实现 65 任务3.1.1 统计用户账户 65 任务3.1.2 查看配置文件并去除注释和空行 66 任务3.2 操作配置文件 67 任务要求 67 相关知识 67 3.2.1 INI文件及其Python操作方法 67 3.2.2 XML文件及其Python解析方法 68 3.2.3 JSON文件及其Python操作方法 69 3.2.4 YAML文件及其Python操作方法 70 任务实现 72 任务3.2.1 编程操作INI文件 72 任务3.2.2 使用DOM方法读写XML文件 73 任务3.2.3 编程操作JSON文件 74 任务3.2.4 编程操作YAML文件 75 任务3.3 使用模板高效处理文本文件 76 任务要求 76 相关知识 76 3.3.1 什么是模板 76 3.3.2 Jinja2模板语法 77 3.3.3 Jinja2模板的渲染 78 任务实现 79 任务3.3.1 使用Jinja2模板生成HTML文件 79 任务3.3.2 使用Jinja2模板生成XML文件 80 任务3.4 比对文件和目录内容 81 任务要求 81 相关知识 81 3.4.1 difflib模块 81 3.4.2 filecmp模块 82 任务实现 83 任务3.4.1 使用difflib模块编程比较两个文件 内容 83 任务3.4.2 使用filecmp模块编程比较两个目录 内容 84 项目小结 85 课后练习 86 项目实训 87 实训1 获取网页中所有图片的链接 87 实训2 编写将XML文件转换为YAML文件的Python程序 87 实训3 使用Jinja2模板生成HTML报表 87 项目4 记录日志与发送邮件 88 知识目标 88 技能目标 88 素养目标 88 任务4.1 记录日志 88 任务要求 88 相关知识 89 4.1.1 为什么要使用logging模块 89 4.1.2 logging模块的日志级别 89 4.1.3 logging模块的基本用法 89 4.1.4 logging模块的类 91 4.1.5 日志记录的配置 94 任务实现 94 任务4.1.1 将日志消息同时输出到屏幕和文件 94 任务4.1.2 使用日志文件记录异常处理信息 95 任务4.1.3 使用日志记录系统监控异常信息 96 任务4.2 发送邮件 97 任务要求 97 相关知识 97 4.2.1 smtplib模块及其基本用法 97 4.2.2 email模块及其基本用法 98 任务实现 100 任务4.2.1 通过邮件发送报警通知 100 任务4.2.2 通过邮件发送运维报告 102 项目小结 103 课后练习 103 项目实训 104 实训1 使用日志记录文件删除和移动监控的信息 104 实训2 监控文件删除和移动并发送邮件通知 104 项目5 运维数据记录与可视化 105 知识目标 105 技能目标 105 素养目标 105 任务5.1 记录运维数据 105 任务要求 105 相关知识 106 5.1.1 纯文本的CSV文件 106 5.1.2 功能强大的Excel文件 106 5.1.3 使用数据库存储 109 任务实现 110 任务5.1.1 使用CSV文件记录系统监控数据 110 任务5.1.2 使用SQLite数据库记录系统监控数据 112 任务5.2 可视化运维数据 114 任务要求 114 相关知识 115 5.2.1 经典的Python绘图库Matplotlib 115 5.2.2 高效、简洁的Web可视化框架Dash 116 任务实现 121 任务5.2.1 基于Matplotlib库生成系统监控数据统计图表 121 任务5.2.2 通过Dash框架实现系统监控数据仪表盘 123 项目小结 127 课后练习 127 项目实训 128 实训1 使用Excel文件记录系统监控数据并绘制CPU使用率的折线图 128 实训2 基于Dash框架绘制CPU和内存使用率的柱形图 128 项目6 远程管理和批量运维服务器 129 知识目标 129 技能目标 129 素养目标 129 任务6.1 使用Paramiko库远程管理服务器 129 任务要求 129 相关知识 130 6.1.1 SSH协议 130 6.1.2 Paramiko库简介 130 6.1.3 使用SSHClient类建立SSH连接 131 6.1.4 使用Transport类控制SSH连接 132 6.1.5 使用SFTPClient实现文件传输 133 任务实现 134 任务6.1.1 搭建多服务器实验环境 134 任务6.1.2 基于密钥认证连接远程服务器 135 任务6.1.3 在远程服务器上执行sudo命令 137 任务6.1.4 实现交互式操作的远程伪终端 138 任务6.2 使用Fabric库批量管理和运维服务器 139 任务要求 139 相关知识 140 6.2.1 Fabric库简介 140 6.2.2 Connection类的基本用法 140 6.2.3 为sudo命令自动提供密码 143 6.2.4 批量操作远程服务器 143 6.2.5 传统的fab命令行工具 145 任务实现 145 任务6.2.1 批量部署源代码 145 任务6.2.2 集中采集多台服务器的系统信息 147 任务6.2.3 自动部署LAMP平台 148 项目小结 150 课后练习 150 项目实训 151 实训1 使用Paramiko库编程实现基于密钥认证的SSH客户端 151 实训2 使用Fabric库编程实现批量采集服务器的网络流量信息 151 实训3 使用Fabric库编程实现自动安装Docker CE 152 项目7 网络管理和网络安全 153 知识目标 153 技能目标 153 素养目标 153 任务7.1 IP地址管理与DNS解析 153 任务要求 153 相关知识 154 7.1.1 IPy库及其基本用法 154 7.1.2 dnspython库及其基本用法 156 任务实现 157 任务7.1.1 使用IPy库解析IP地址 157 任务7.1.2 使用dnspython库解析DNS记录 158 任务7.2 实现网络探测和安全扫描 159 任务要求 159 相关知识 160 7.2.1 nmap工具 160 7.2.2 python-nmap库 164 任务实现 166 任务7.2.1 检测网络中在线状态的主机 166 任务7.2.2 检测主机的服务及版本 166 任务7.3 使用Scapy库处理网络数据包 167 任务要求 167 相关知识 168 7.3.1 Scapy库简介 168 7.3.2 Scapy库的基本使用方法 168 任务实现 174 任务7.3.1 使用Scapy库进行SYN扫描 174 任务7.3.2 使用Scapy库进行TCP路由跟踪 175 任务7.3.3 使用Scapy库进行抓包重放 175 项目小结 177 课后练习 177 项目实训 178 实训1 检测主机的服务及版本并将结果生成HTML报表 178 实训2 使用Scapy库抓取网络数据包并进行处理 178 项目8 企业级系统综合运维 179 知识目标 179 技能目标 179 素养目标 179 任务8.1 熟悉Ansible的基本用法 179 任务要求 179 相关知识 180 8.1.1 Ansible的特点和应用 180 8.1.2 Ansible的基本架构 181 8.1.3 安装Ansible 181 8.1.4 配置Ansible 182 8.1.5 编写清单文件 183 8.1.6 配置SSH连接 184 8.1.7 Ansible的模块 185 8.1.8 使用Ansible即席命令 186 8.1.9 命令执行模块 187 任务实现 187 任务8.1.1 使用Ansible在目标主机上执行Shell脚本 187 任务8.1.2 使用Ansible提权操作目标主机 190 任务8.2 基于Playbook实现自动化任务 1
— 没有更多了 —
以下为对购买帮助不大的评价