python自动化运维快速入门书_Python自动化运维快速入门

第一篇 Python与基础运维

第1章 自动化运维与Python 3

1.1 自动化运维概述 3

1.1.1 自动化运维势在必行 3

1.1.2 什么是成熟的自动化运维平台 4

1.1.3 为什么选择Python进行运维 4

1.2 初识Python 8

1.3 Python环境搭建 8

1.3.1 Windows系统下的Python安装 8

1.3.2 Linux系统下的Python安装 11

1.4 开发工具介绍 13

1.4.1 PyCharm 14

1.4.2 Vim 18

1.5 Python基础语法 24

1.5.1 数字运算 24

1.5.2 字符串 25

1.5.3 列表与元组 30

1.5.4 字典 33

1.5.5 集合 35

1.5.6 函数 36

1.5.7 条件控制与循环语句 38

1.5.8 可迭代对象、迭代器和生成器 42

1.5.9 对象赋值、浅复制、深复制 45

1.6 多个例子实战Python编程 49

1.6.1 实战1:九九乘法表 49

1.6.2 实战2:发放奖金的梯度 50

1.6.3 实战3:递归获取目录下文件的修改时间 51

1.6.4 实战4:两行代码查找替换3或5的倍数 53

1.6.5 实战5:一行代码的实现 53

1.7 pip工具的使用 54

第2章 基础运维 57

2.1 文本处理 57

2.1.1 Python编码解码 57

2.1.2 文件操作 61

2.1.3 读写配置文件 68

2.1.4 解析XML文件 70

2.2 系统信息监控 76

2.3 文件系统监控 82

2.4 执行外部命令subprocess 84

2.4.1 subprocess.run()方法 84

2.4.2 Popen类 86

2.4.3 其他方法 87

2.5 日志记录 87

2.5.1 日志模块简介 88

2.5.2 logging模块的配置与使用 89

2.6 搭建FTP服务器与客户端 95

2.6.1 搭建FTP服务器 95

2.6.2 编写FTP客户端程序 99

2.7 邮件提醒 100

2.7.1 发送邮件 100

2.7.2 接收邮件 105

2.7.3 将报警信息实时发送至邮箱 107

2.8 微信提醒 112

2.8.1 处理微信消息 112

2.8.2 将警告信息发送至微信 116

第二篇 中级运维

第3章 实战多进程 121

3.1 创建进程的类Process 121

3.2 进程并发控制之Semaphore 125

3.3 进程同步之Lock 126

3.4 进程同步之Event 128

3.5 进程优先级队列Queue 130

3.6 多进程之进程池Pool 131

3.7 多进程之数据交换Pipe 132

第4章 实战多线程 135

4.1 Python多线程简介 135

4.2 多线程编程之threading模块 139

4.3 多线程同步之Lock(互斥锁) 142

4.4 多线程同步之Semaphore(信号量) 144

4.5 多线程同步之Condition 145

4.6 多线程同步之Event 146

4.7 线程优先级队列(queue) 148

4.8 多线程之线程池pool 149

第5章 实战协程 151

5.1 定义协程 151

5.2 并发 153

5.3 异步请求 154

第6章 自动化运维工具Ansible 159

6.1 Ansible安装 159

6.2 Ansible配置 160

6.3 inventory文件 161

6.4 ansible ad-hoc模式 163

6.5 Ansible Playbooks模式 171

第7章 定时任务模块APScheduler 175

7.1 安装及基本概念 175

7.1.1 APScheduler的安装 175

7.1.2 APScheduler涉及的几个概念 175

7.1.3 APScheduler的工作流程 176

7.2 配置调度器 178

7.3 启动调度器 181

7.4 调度器事件监听 185

第8章 执行远程命令(Paramiko) 188

8.1 介绍几个重要的类 188

8.1.1 通道(Channel)类 188

8.1.2 传输(Transport)类 189

8.1.3 SSHClient类 190

8.2 Paramiko的使用 191

8.2.1 安装 191

8.2.2 基于用户名和密码的SSHClient方式登录 191

8.2.3 基于用户名和密码的Transport方式登录并实现上传与下载 192

8.2.4 基于公钥密钥的SSHClient方式登录 193

8.2.5 基于公钥密钥的Transport方式登录 194

第9章 分布式任务队列Celery 195

9.1 Celery简介 195

9.2 安装Celery 197

9.3 安装RabbitMQ或Redis 198

9.3.1 安装RabbitMQ 198

9.3.2 安装Redis 199

9.4 第一个Celey程序 200

9.5 第一个工程项目 203

9.6 Celery架构 207

9.7 Celery 队列 208

9.8 Celery Beat任务调度 211

9.9 Celery 远程调用 212

9.10 监控与管理 215

9.10.1 Celery命令行实用工具 215

9.10.2 Web实时监控工具Flower 218

9.10.3 Flower的使用方法 219

第10章 任务调度神器Airflow 223

10.1 Airflow简介 223

10.1.1 DAG 224

10.1.2 操作符——Operators 224

10.1.3 时区——timezone 225

10.1.4 Web服务器——webserver 225

10.1.5 调度器——schduler 226

10.1.6 工作节点——worker 226

10.1.7 执行器——Executor 226

10.2 Airflow安装与部署 226

10.2.1 在线安装 227

10.2.2 离线安装 229

10.2.3 部署与配置(以SQLite为知识库) 229

10.2.4 指定依赖关系 234

10.2.5 启动scheduler 234

10.3 Airflow配置MySQL知识库和LocalExecutor 235

10.4 Airflow配置Redis和CeleryExecutor 242

10.5 Airflow任务开发Operators 244

10.5.1 Operators简介 245

10.5.2 BaseOperator 简介 245

10.5.3 BashOperator的使用 245

10.5.4 PythonOperator的使用 247

10.5.5 SSHOperator的使用 248

10.5.6 HiveOperator的使用 249

10.5.7 如何自定义Operator 250

10.6 Airflow集群、高可用部署 250

10.6.1 Airflow的四大守护进程 250

10.6.2 Airflow的守护进程是如何一起工作的 251

10.6.3 Airflow单节点部署 252

10.6.4 Airflow多节点(集群)部署 252

10.6.5 扩展worker节点 253

10.6.6 扩展Master节点 253

10.6.7 Airflow集群部署的具体步骤 255

第三篇 高级运维

第11章 Docker容器技术介绍 259

11.1 Docker概述 259

11.2 Docker解决什么问题 260

11.3 Docker的安装部署与使用 261

11.3.1 安装Docker引擎 261

11.3.2 使用Docker 262

11.3.3 Docker命令的使用方法 263

11.4 卷的概念 266

11.5 数据卷共享 267

11.6 自制镜像并发布 267

11.7 Docker网络 268

11.7.1 Docker的网络模式 269

11.7.2 Docker网络端口映射 270

11.8 Docker小结 270

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值