幫助中心 | 我的帳號 | 關於我們

Linux系統自動化運維(Python版微課版工業和信息化精品系列教材)

  • 作者:編者:張莉//丁傳煒|責編:初美呈
  • 出版社:人民郵電
  • ISBN:9787115628244
  • 出版日期:2024/01/01
  • 裝幀:平裝
  • 頁數:230
人民幣:RMB 59.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書主要講解Python在Linux系統運維開發中的典型應用,通過面向實際運維場景的任務實施,幫助讀者掌握Python在系統自動化運維領域的應用。本書共8個項目,內容包括系統自動化運維:從Shell到Python、監控系統與調度運維任務、處理文件內容與配置文件、記錄日誌與發送郵件、運維數據記錄與可視化、遠程管理和批量運維伺服器、網路管理和網路安全、企業級系統綜合運維。
    本書內容豐富、結構清晰、重點突出、難點分散,注重實踐性和可操作性,對項目中的每個任務都提供詳細的代碼和解說,便於讀者快速上手。
    本書可作為高校電腦類專業的Python編程教材,也可作為Linux系統運維教材,還適合廣大從事Python自動化運維開發工作的初學者學習和參考。

作者介紹
編者:張莉//丁傳煒|責編:初美呈

目錄
項目1  系統自動化運維:從Shell到Python
  知識目標
  技能目標
  素養目標
  任務1.1  從Shell編程開始系統自動化運維
  任務要求
  相關知識
    1.1.1  初識系統自動化運維
    1.1.2  Linux系統自動化運維的基本工具——Shell腳本
  任務實現
    任務1.1.1  準備實驗環境
    任務1.1.2  編寫Shell腳本批量創建Linux用戶賬戶
    任務1.1.3  編寫Shell腳本批量檢測主機在線狀態
    任務1.1.4  編寫Shell腳本一鍵安裝JDK
    任務1.1.5  編寫Shell腳本監控Linux系統性能
  任務1.2  使用Python提升系統自動化運維技能
  任務要求
  相關知識
    1.2.1  Python簡介
    1.2.2  Python的模塊、包與庫
    1.2.3  Python與系統自動化運維
  任務實現
    任務1.2.1  搭建Python開發環境
    任務1.2.2  編寫Python程序監控Linux系統性能
  任務1.3  使用Python執行外部命令
  任務要求
  相關知識
    1.3.1  subprocess模塊簡介
    1.3.2  subprocess模塊的便利函數
    1.3.3  subprocess模塊的Popen類
  任務實現
    任務1.3.1  使用subprocess模塊編程批量檢測主機在線狀態
    任務1.3.2  編寫通用的外部命令執行函數
  項目小結
  課後練習
  項目實訓
    實訓1  編寫Shell腳本監控系統性能
    實訓2  編寫Python腳本監控系統負載
    實訓3  使用subprocess模塊編程創建Linux用戶賬戶
項目2  監控系統與調度運維任務
  知識目標
  技能目標
  素養目標
  任務2.1  採集系統信息和管理進程
  任務要求
  相關知識
    2.1.1  了解psutil庫
    2.1.2  系統信息相關函數
    2.1.3  進程管理功能
  任務實現

    任務2.1.1  使用psutil庫採集系統信息
    任務2.1.2  使用psutil庫實現進程管理
  任務2.2  監控文件系統更改
  任務要求
  相關知識
    2.2.1  了解pyinotify庫
    2.2.2  了解watchdog庫
  任務實現
    任務2.2.1  基於pyinotify庫編寫文件系統更改監控程序
    任務2.2.2  基於watchdog庫編寫文件系統更改監控程序
  任務2.3  監控Web服務
  任務要求
  相關知識
    2.3.1  PycURL庫簡介
    2.3.2  PycURL庫的基本用法
  任務實現
    基於PycURL庫編寫Web服務監控程序
  任務2.4  調度運維任務
  任務要求
  相關知識
    2.4.1  APScheduler庫的組件
    2.4.2  APScheduler庫的基本用法
  任務實現
    任務2.4.1  使用Cron服務調度運維任務
    任務2.4.2  基於APScheduler庫編程調度運維任務
  項目小結
  課後練習
  項目實訓
    實訓1  使用psutil庫編程獲取系統啟動時間和登錄信息
    實訓2  使用watchdog庫編程監控文件的移動
    實訓3  使用PycURL庫編程判斷Web服務的可用性
    實訓4  使用APScheduler庫編程調度監控任務
項目3  處理文件內容與配置文件
  知識目標
  技能目標
  素養目標
  任務3.1  解析和處理文件內容
  任務要求
  相關知識
    3.1.1  字元串及其操作
    3.1.2  文本文件的讀寫
    3.1.3  編碼和解碼
    3.1.4  正則表達式
  任務實現
    任務3.1.1  統計用戶賬戶
    任務3.1.2  查看配置文件並去除註釋和空行
  任務3.2  操作配置文件
  任務要求
  相關知識
    3.2.1  INI文件及其Python操作方法

    3.2.2  XML文件及其Python解析方法
    3.2.3  JSON文件及其Python操作方法
    3.2.4  YAML文件及其Python操作方法
  任務實現
    任務3.2.1  編程操作INI文件
    任務3.2.2  使用DOM方法讀寫XML文件
    任務3.2.3  編程操作JSON文件
    任務3.2.4  編程操作YAML文件
  任務3.3  使用模板高效處理文本文件
  任務要求
  相關知識
    3.3.1  什麼是模板
    3.3.2  Jinja2模板語法
    3.3.3  Jinja2模板的渲染
  任務實現
    任務3.3.1  使用Jinja2模板生成HTML文件
    任務3.3.2  使用Jinja2模板生成XML文件
  任務3.4  比對文件和目錄內容
  任務要求
  相關知識
    3.4.1  difflib模塊
    3.4.2  filecmp模塊
  任務實現
    任務3.4.1  使用difflib模塊編程比較兩個文件內容
    任務3.4.2  使用filecmp模塊編程比較兩個內容
  項目小結
  課後練習
  項目實訓
    實訓1  獲取網頁中所有圖片的鏈接
    實訓2  編寫將XML文件轉換為YAML文件的Python程序
    實訓3  使用Jinja2模板生成HTML報表
項目4  記錄日誌與發送郵件
  知識目標
  技能目標
  素養目標
  任務4.1  記錄日誌
  任務要求
  相關知識
    4.1.1  為什麼要使用logging模塊
    4.1.2  logging模塊的日誌級別
    4.1.3  logging模塊的基本用法
    4.1.4  logging模塊的類
    4.1.5  日誌記錄的配置
  任務實現
    任務4.1.1  將日誌消息同時輸出到屏幕和文件
    任務4.1.2  使用日誌文件記錄異常處理信息
    任務4.1.3  使用日誌記錄系統監控異常信息
  任務4.2  發送郵件
  任務要求
  相關知識

    4.2.1  smtplib模塊及其基本用法
    4.2.2  email模塊及其基本用法
  任務實現
    任務4.2.1  通過郵件發送報警通知
    任務4.2.2  通過郵件發送運維報告
  項目小結
  課後練習
  項目實訓
    實訓1  使用日誌記錄文件刪除和移動監控的信息
    實訓2  監控文件刪除和移動併發送郵件通知
項目5  運維數據記錄與可視化
  知識目標
  技能目標
  素養目標
  任務5.1  記錄運維數據
  任務要求
  相關知識
    5.1.1  純文本的CSV文件
    5.1.2  功能強大的Excel文件
    5.1.3  使用資料庫存儲
  任務實現
    任務5.1.1  使用CSV文件記錄系統監控數據
    任務5.1.2  使用SQLite資料庫記錄系統監控數據
  任務5.2  可視化運維數據
  任務要求
  相關知識
    5.2.1  經典的Python繪圖庫Matplotlib
    5.2.2  高效、簡潔的Web可視化框架Dash
  任務實現
    任務5.2.1  基於Matplotlib庫生成系統監控數據統計圖表
    任務5.2.2  通過Dash框架實現系統監控數據儀錶盤
  項目小結
  課後練習
  項目實訓
    實訓1  使用Excel文件記錄系統監控數據並繪製CPU使用率的折線圖
    實訓2  基於Dash框架繪製CPU和內存使用率的柱形圖
項目6  遠程管理和批量運維伺服器
  知識目標
  技能目標
  素養目標
  任務6.1  使用Paramiko庫遠程管理伺服器
  任務要求
  相關知識
    6.1.1  SSH協議
    6.1.2  Paramiko庫簡介
    6.1.3  使用SSHClient類建立SSH連接
    6.1.4  使用Transport類控制SSH連接
    6.1.5  使用SFTPClient實現文件傳輸
  任務實現
    任務6.1.1  搭建多伺服器實驗環境

    任務6.1.2  基於密鑰認證連接遠程伺服器
    任務6.1.3  在遠程伺服器上執行sudo命令
    任務6.1.4  實現互動式操作的遠程偽終端
  任務6.2  使用Fabric庫批量管理和運維伺服器
  任務要求
  相關知識
    6.2.1  Fabric庫簡介
    6.2.2  Connection類的基本用法
    6.2.3  為sudo命令自動提供密碼
    6.2.4  批量操作遠程伺服器
    6.2.5  傳統的fab命令行工具
  任務實現
    任務6.2.1  批量部署源代碼
    任務6.2.2  集中採集多台伺服器的系統信息
    任務6.2.3  自動部署LAMP平台
  項目小結
  課後練習
  項目實訓
    實訓1  使用Paramiko庫編程實現基於密鑰認證的SSH客戶端
    實訓2  使用Fabric庫編程實現批量採集伺服器的網路流量信息
    實訓3  使用Fabric庫編程實現自動安裝Docker CE
項目7  網路管理和網路安全
  知識目標
  技能目標
  素養目標
  任務7.1  IP地址管理與DNS解析
  任務要求
  相關知識
    7.1.1  IPy庫及其基本用法
    7.1.2  dnspython庫及其基本用法
  任務實現
    任務7.1.1  使用IPy庫解析IP地址
    任務7.1.2  使用dnspython庫解析DNS記錄
  任務7.2  實現網路探測和安全掃描
  任務要求
  相關知識
    7.2.1  nmap工具
    7.2.2  python-nmap庫
  任務實現
    任務7.2.1  檢測網路中在線狀態的主機
    任務7.2.2  檢測主機的服務及版本
  任務7.3  使用Scapy庫處理網路數據包
  任務要求
  相關知識
    7.3.1  Scapy庫簡介
    7.3.2  Scapy庫的基本使用方法
  任務實現
    任務7.3.1  使用Scapy庫進行SYN掃描
    任務7.3.2  使用Scapy庫進行TCP路由跟蹤
    任務7.3.3  使用Scapy庫進行抓包重放

  項目小結
  課後練習
  項目實訓
    實訓1  檢測主機的服務及版本並將結果生成HTML報表
    實訓2  使用Scapy庫抓取網路數據包並進行處理
項目8  企業級系統綜合運維
  知識目標
  技能目標
  素養目標
  任務8.1  熟悉Ansible的基本用法
  任務要求
  相關知識
    8.1.1  Ansible的特點和應用
    8.1.2  Ansible的基本架構
    8.1.3  安裝Ansible
    8.1.4  配置Ansible
    8.1.5  編寫清單文件
    8.1.6  配置SSH連接
    8.1.7  Ansible的模塊
    8.1.8  使用Ansible即席命令
    8.1.9  命令執行模塊
  任務實現
    任務8.1.1  使用Ansible在目標主機上執行Shell腳本
    任務8.1.2  使用Ansible提權操作目標主機
  任務8.2  基於Playbook實現自動化任務
  任務要求
  相關知識
    8.2.1  Playbook的基本語法
    8.2.2  運行Playbook
    8.2.3  在Playbook中使用處理程序
    8.2.4  在Playbook中定義和使用變數
    8.2.5  在Playbook中使用控制結構
    8.2.6  使用Ansible Vault加密內容
  任務實現
    任務8.2.1  使用Playbook配置系統時鐘同步
    任務8.2.2  使用Playbook批量添加用戶賬戶
  任務8.3  使用Ansible角色組織Playbook
  任務要求
  相關知識
    8.3.1  理解Ansible角色
    8.3.2  使用Ansible Galaxy
  任務實現
    任務8.3.1  通過角色部署Web負載平衡
    任務8.3.2  通過Ansible Galaxy部署角色
  任務8.4  部署Zabbix監控平台
  任務要求
  相關知識
    8.4.1  Zabbix的主要特性
    8.4.2  Zabbix的基本架構
  任務實現

    任務8.4.1  以容器形式安裝Zabbix伺服器
    任務8.4.2  使用Ansible部署Zabbix代理
    任務8.4.3  試用Zabbix實現系統監控
  項目小結
  課後練習
  項目實訓
    實訓1  使用Ansible即席命令執行Shell腳本檢測目標主機的CPU使用率
    實訓2  使用Playbook批量更改CentOS的系統環境配置
    實訓3  從Ansible Galaxy獲取Redis角色並在CentOS伺服器上部署

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032