Python自動化運維快速入門

Python自動化運維快速入門

《Python自動化運維快速入門》是2019年4月1日由清華大學出版社出版的一本圖書,作者是鄭征。

基本介紹

  • 中文名:Python自動化運維快速入門
  • 作者:鄭征 
  • 出版社:清華大學出版社 
  • ISBN:9787302525806 
  • 定價:59 元 
圖書簡介,圖書內容,圖書目錄,

圖書簡介

《Python自動化運維快速入門》是清華大學出版社出版的一本圖書。

圖書內容

本書是一本從零開始、手把手教你運維的書籍,通過上百個實際運維場景案例,幫助讀者理解並掌握自動化運維。 本書分為三篇共11章,第一篇是基礎運維,介紹自動化運維、Python基礎、文本處理、日誌、FTP伺服器、使用Python發郵件、微信等。通過本篇的學習,可以達到編寫Python程式來解決基礎運維問題的水平;第二篇是中級運維,介紹自動化運維工具(Ansible)、作業調度工具(APScheduler、Airflow)、分散式任務佇列(Celery),目的是為了讓運維工作上一個新的台階;第三篇是高級運維,介紹Docker容器技術,現現已成運維人員必備的工具。 本書內容詳盡、示例豐富,是廣大從事運維開發的讀者必備參考書,同時也非常適合學習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

相關詞條

熱門詞條

聯絡我們