騰訊技術總監薑承堯、網易技術總監餘利華鼎力推薦,是作者運維和管理網易考拉、網易雲音樂、網易新聞等大型互聯網産品的經驗總結
作者技術功底深厚,時間經驗豐富,曾在網易擔任資深平颱開發工程師、數據庫內核工程師和高級運維工程師,現就職於騰訊CDG(企業發展事業群)
來自於網易和騰訊等大型互聯網公司的一綫經驗,從工具、方法、實戰三個維度講解瞭利用Python進行Linux係統管理和自動化運維的*佳實踐
Python是係統管理和運維領域的一把利器,本書是作者多年來在網易的雲平颱開發、數據庫內核開發、係統管理與運維領域使用Python的經驗總結。
本書以Linux係統管理為綫索,以Python語言為載體,從工具、腳本、方法等多個方麵講解瞭如何在Linux係統管理和自動化運維中使用Python來解決各種問題,包含大量案例和*佳實踐。
全書邏輯上分為5個部分:
介紹篇(第1章):介紹瞭Python語言的優缺點和Python在Linux係統管理領域的應用;
工具篇(第2章):講解瞭多個Python生態工具,充分利用這些工具,不但可以有效地提高工作效率,而且還能形成統一的代碼風格;
腳本篇(第3~7章):詳細講解瞭如何使用Python編寫腳本管理Linux,包括如何使用Python構建命令行工具、如何處理文本、如何進行係統管理、如何監控Linux係統,以及如何處理文檔與報告,包含大量的Python實戰案例。
自動化篇(第8~10章):主要講解瞭多個Python語言開發工具,包括網絡嗅探工具Scapy、自動化運維工具Fabric、自動部署工具Ansible等,靈活使用這些工具,可以有效地提高運維工程師的工作效率。
綜閤案例篇(第11章):介紹瞭一個綜閤案例,即使用Python打造MySQL數據庫專傢係統。其中詳細講解Python中的高級語言特性和係統架構,充分理解這一章的內容,相信讀者的Python水平能有一個較大的提升。
賴明星
資深雲平颱開發工程師、數據庫內核開發工程師和高級運維工程師,現就職於騰訊CDG(企業發展事業群),曾就職於網易,網易雲數據庫MySQL雲平颱、MongoDB雲平颱的核心開發人員,網易大規模MySQL係統運維的負責人,獨立完成MySQL存儲引擎的TNT自動化研發和測試。
國內知名的Python技術專傢和Python技術的積極推廣者,知乎專欄《Python高手之路》的所有者和維護者,在網絡上撰寫瞭大量優質的原創文章,進行瞭多次高質量的技術分享。
除Python外,對Linux和MySQL也有深入研究,多次在 Oracle 技術嘉年華、IMG(Inside MySQL Group)技術沙龍、全球敏捷運維峰會、PHPCon China等知名技術大會分享MySQL*佳實踐。
IMG社區核心成員,IMG社區自成立以來,努力打造純淨的技術氛圍,積極推動技術分享,匯集瞭各個企業的技術大牛,在技術社區中有著很大的影響力,掃描下方二維碼加入IMG社區。
明星把自己這些年來在網易運維和管理Linux係統的過程中遇到的各種難題和總結的各種經驗與方法全部呈現在瞭這本書中,對同行應該非常有參考價值。本書最後的MySQL專傢係統是一個集大成的運維開發係統,讀者可以通過這個案例更地理解Python在運維中的實際應用。我將此書推薦給所有技術圈的碼農們,也希望大傢早日體會到Pythonic的*高奧義。
——薑承堯 騰訊技術總監
市麵上有不少講解Python編程語言的書籍, 也有不少關於Linux係統管理書籍,但是如何利用Python解決Linux係統管理問題的書籍卻寥寥無幾。 明星是網易的數據庫專傢,是數據庫雲服務(RDS)的核心開發人員。 RDS産品使用Python語言成功管理瞭成韆上萬個Linux主機和MySQL實例,成功支撐瞭考拉、網易雲音樂、網易新聞等大型互聯網産品, 在RDS研發運營過程中, 作者積纍瞭大量一綫工作經驗和案例,通過這一本書的方式分享給大傢,希望對大傢有所幫助。
——餘利華 網易技術總監
目錄?Contents
推薦序一
推薦序二
推薦序三
前言
第1章Python語言與Linux係統管理1
1.1Python語言有多流行1
1.2Python語言為什麼流行3
1.3Python語言有什麼缺點4
1.4Python語言的應用場景4
1.5為什麼Python適閤Linux係統管理5
1.6使用Python2還是Python36
第2章Python生態工具9
2.1Python內置小工具9
2.1.11秒鍾啓動一個下載服務器10
2.1.2字符串轉換為JSON10
2.1.3檢查第三方庫是否正確安裝11
2.2pip高級用法12
2.2.1pip介紹12
2.2.2pip常用命令12
2.2.3加速pip安裝的技巧14
2.3Python編輯器15
2.3.1編寫Python的vim插件15
2.3.2Windows下Python編輯器PyCharm介紹17
2.4Python編程輔助工具18
2.4.1Python交互式編程18
2.4.2使用IPython交互式編程20
2.4.3jupyter的使用29
2.5Python調試器31
2.5.1標準庫的pdb32
2.5.2開源的ipdb34
2.6Python代碼規範檢查34
2.6.1PEP8編碼規範介紹34
2.6.2使用pycodestyle檢查代碼規範36
2.6.3使用autopep8將代碼格式化37
2.7Python工作環境管理39
2.7.1使用pyenv管理不同的Python版本39
2.7.2使用virtualenv管理不同的項目42
2.8本章總結43
第3章打造命令行工具44
3.1與命令行相關的Python語言特性44
3.1.1使用sys.argv獲取命令行參數45
3.1.2使用sys.stdin和fileinput讀取標準輸入46
3.1.3使用SystemExit異常打印錯誤信息48
3.1.4使用getpass庫讀取密碼49
3.2使用ConfigParse解析配置文件49
3.3使用argparse解析命令行參數52
3.3.1ArgumentParse解析器52
3.3.2模仿MySQL客戶端的命令行參數54
3.4使用logging記錄日誌55
3.4.1日誌的作用55
3.4.2Python的logging模塊56
3.4.3配置日誌格式56
3.5與命令行相關的開源項目59
3.5.1使用click解析命令行參數59
3.5.2使用prompt_toolkit打造交互式命令行工具61
3.6本章總結64
第4章文本處理65
4.1字符串常量66
4.1.1定義字符串66
4.1.2字符串是不可變的有序集閤68
4.1.3字符串函數71
4.1.4案例:使用Python分析Apache的訪問日誌79
4.1.5字符串格式化83
4.2正則錶達式85
4.2.1正則錶達式語法86
4.2.2利用re庫處理正則錶達式87
4.2.3常用的re方法90
4.2.4案例:獲取HTML頁麵中的所有超鏈接94
4.3字符集編碼94
4.3.1編碼曆史95
4.3.2UTF-8編碼96
4.3.3從字符集的問題說起98
4.3.4Python2和Python3中的Unicode99
4.4Jinja2模闆101
4.4.1模闆介紹102
4.4.2Jinja2語法入門102
4.4.3Jinja2實戰108
4.4.4案例:使用Jinja2生成HTML錶格和XML配置文件112
4.5本章總結116
第5章Linux係統管理117
5.1文件讀寫118
5.1.1Python內置的open函數118
5.1.2避免文件句柄泄露119
5.1.3常見的文件操作函數120
5.1.4Python的文件是一個可迭代對象121
5.1.5案例:將文件中所有單詞的首字母變成大寫122
5.2文件與文件路徑管理123
5.2.1使用os.path進行路徑和文件管理123
5.2.2使用os模塊管理文件和目錄126
5.2.3案例:打印最常用的10條Linux命令128
5.3查找文件129
5.3.1使用fnmatch找到特定的文件129
5.3.2使用glob找到特定的文件130
5.3.3使用os.walk遍曆目錄樹131
5.3.4案例:找到目錄下最大(或最老)的十個文件132
5.4高級文件處理接口shutil134
5.4.1復製文件和文件夾135
5.4.2文件和文件夾的移動與改名135
5.4.3刪除目錄136
5.5文件內容管理136
5.5.1目錄和文件比較137
5.5.2MD5校驗和比較139
5.5.3案例:找到目錄下的重復文件139
5.6使用Python管理壓縮包141
5.6.1使用tarfile庫讀取與創建tar包141
5.6.2使用tarfile庫讀取與創建壓縮包142
5.6.3案例:備份指定文件到壓縮包中142
5.6.4使用zipfile庫創建和讀取zip壓縮包143
5.6.5案例:暴力破解zip壓縮包的密碼144
5.6.6使用shutil創建和讀取壓縮包146
5.7Python中執行外部命令148
5.7.1subprocess模塊簡介149
5.7.2subprocess模塊的便利函數149
5.7.3subprocess模塊的Popen類151
5.8綜閤案例:使用Python部署MongoDB152
5.9本章總結155
第6章使用Python監控Linux係統156
6.1Python編寫的監控工具157
6.1.1多功能係統資源統計工具dstat157
6.1.2交互式監控工具glances160
6.2使用Python打造自己的監控工具163
6.2.1Linux係統的/proc目錄介紹163
6.2.2proc目錄下常用文件介紹164
6.2.3進程目錄下常用文件介紹165
6.2.4利用/proc目錄找到被刪除的文件166
6.2.5使用shell腳本監控Linux168
6.2.6使用Python監控Linux170
6
Preface?前言為何寫作本書我第一次接觸Python是在2008年的時候,當時還是一名大學生。有一位非常優秀的學長通過《黑客與畫傢》這本書瞭解到Python語言,並且認為Python將在未來幾年迅猛發展,在各個應用領域都會大有可為。因此,在國內還沒有廣泛使用Python語言時,這位學長便推薦我學習Python。現在的Python語言,流行程度已不用我多言,這一方麵證實瞭PaulGraham(《黑客與畫傢》的作者)的遠見卓識,同時,也反映齣這位優秀學長的聰明睿智。從這件事中,我深切地感受到要多與人交流,尤其是要與那些比自己優秀的人交流。正是齣於和大傢交流的想法,我將這些年的Python使用心得,以及在網易雲開發與運維的經驗匯集成一本書,也就是你現在看到的這本書。
如果大傢身處互聯網,一定能夠切身地感受到Python語言的流行程度。Python語言由於其簡單易學、語法優美、應用領域廣泛等諸多優點,俘獲瞭大批的粉絲。通過Google搜索指數可以看到,Python語言在最近兩年齣現瞭爆發式的增長,其在編程語言排行榜上的排名,從第8名一躍上升到第4名,並且有繼續上升的趨勢。越來越多的公司高薪招聘Python工程師,越來越多的世界名校開始講授Python語言,越來越多的項目使用Python語言進行開發。因此,從各個角度來說,Python都將大有可為,學習Python將是一個正確的選擇。
伴隨著雲計算的高速發展,Python在係統管理領域也錶現不俗。著名的雲計算平颱OpenStack就是使用Python語言開發的,各大雲計算廠商也選擇使用Python開發自己的內部係統。並且,由於雲計算廠商托管的都是大規模服務器,為瞭提高運維效率、節約人力成本、快速響應需求,各大雲計算廠商都不約而同地使用Python進行大規模服務器的部署和運維。
Python在Linux係統管理中,已經擔任瞭非常重要的角色。但是,講解Python在Linux係統管理中應用的書籍卻寥寥無幾,更多都是專注於Python語言、Python爬蟲和PythonWeb開發。難得的幾本也僅僅是介紹Python相關工具的使用而已。由於互聯網業務的復雜性和多樣性,這遠不能滿足互聯網公司的需求,公司更希望工程師能夠靈活地使用Python,根據業務需求開發自己的工具和係統。因此,本書不僅會介紹Python語言編寫的係統管理工具,還會講解如何使用Python構建自己的係統管理工具。
主要內容特色本書介紹瞭Python語言在Linux係統管理中的應用,包括編寫Python腳本管理Linux係統,使用Python編寫的自動化工具管理Linux係統,以及使用Python打造專屬的管理工具等。
本書以Linux係統管理為綫索,以Python語言為載體,介紹瞭大量Python語言的應用案例。通過學習本書,不但可以使用Python語言管理Linux係統,也為Python解決其他領域問題打下瞭堅實的基礎。書中每一章都會解決某一類問題,並且提供瞭問題的答案。如Python管理Linux文件和目錄,使用Python監控Linux係統,使用Python編寫自動化工具,使用Python進行自動化運維等。
通過學習本書,你可以:
掌握Python生態工具,提高自己的開發效率;學會如何使用Python構建自己的命令行工具;用Python編寫可維護性更強的文本處理程序;全方位監控Linux係統;使用Python自動化部署應用;管理操作係統配置;使用Python打造MySQL專傢係統;通過Python發送電子郵件。
本書讀者對象本書不是一本講解Python編程語言的書籍,也不是教授如何使用Python運維工具的書籍,而是一本講解Python在Linux係統管理中應用的實戰書籍。如果你還沒學過Python編程語言,建議先學習Python語言以後,再來閱讀本書。如果你從來沒有使用過Linux,書中部分章節可能會讓你感到睏惑,不過依然有很多章節可以參考。因此,想要更好地學習本書內容,讀者需要具備以下條件:
Python語言基礎知識;Linux使用經驗;瞭解SSH的使用。
本書雖然主要講解Python在Linux係統管理中的應用,但是,書中很多例子都具有更加廣泛的應用場景。本書的最大特色是提供瞭大量的實戰案例,無論是剛學完Python語言,正在尋找Python實戰案例的讀者,還是想要學習Python在Linux係統管理中如何應用的讀者,都能從中受益。
綜上所述,本書適閤以下幾類讀者:
使用Python語言的運維工程師;想要提高Python技能的開發工程師;想要瞭解Python在互聯網應用的在校學生;所有對Python實戰感興趣的讀者。
如何閱讀本書本書共分11章,每一章都可以單獨成冊。你可以從頭開始閱讀,也可以選擇自己感興趣的章節閱讀。
第1章介紹瞭Python語言的優缺點和Python在Linux係統管理領域的應用,這一章主要迴答“為什麼學習Python”這個問題。
第2章介紹瞭多個Python生態工具。充分利用這些工具,不但可以有效提高工作效率,還能形成統一的代碼風格。此外,本章還會介紹如何解決Python中的環境依賴問題,包括如何在一颱服務器上使用不同的Python版本,如何對不同的項目安裝不同的依賴而不相互影響。相信通過學習本章介紹的工具,能夠幫助你解決在學習Python過程中遇到的環境問題。
第3~7章主要講解使用Python編寫腳本管理Linux,包括如何使用Python構建命令行工具、
作為一名在IT領域摸爬滾打多年的老兵,我總是在尋找能夠提升效率、簡化操作的利器。近期,我接觸到瞭一本讓我眼前一亮的書,雖然具體內容無法詳述,但它所傳遞齣的理念和給我帶來的啓發,讓我迫不及待地想與大傢分享。這本書仿佛一座知識的寶庫,裏麵蘊藏著許多關於如何更聰明地管理和維護係統的智慧。我能感覺到,它不僅僅是提供瞭大量的技術細節,更重要的是,它能夠引導讀者從更宏觀的角度去理解係統運作的規律,以及如何利用自動化手段來應對日益復雜的IT環境。 想象一下,你不再需要花費大量的時間和精力去處理那些重復性、繁瑣的任務,而是可以將寶貴的時間投入到更有創造性的工作中。這本書正是朝著這個方嚮指引方嚮。它讓我開始重新審視我過去的工作流程,思考哪些環節可以通過腳本或工具來優化。我從中獲得瞭一種解放感,一種能夠將復雜問題簡單化的能力。我特彆喜歡它在講解過程中所展現齣的那種循序漸進的邏輯,即使是對於一些之前接觸不多的概念,也能通過清晰的闡述和生動的例子,逐漸建立起深刻的理解。這種學習體驗,讓我在不知不覺中,對整個係統運維的脈絡有瞭更清晰的認識。
評分最近,我偶然接觸到瞭一本讓我茅塞頓開的書籍,雖然我不能透露它的具體內容,但它所蘊含的思想,無疑為我的職業生涯注入瞭新的活力。在過去的幾年裏,我一直深耕於IT運維領域,也遇到過不少挑戰,但總感覺在效率和精細化管理方麵,還有提升的空間。這本書就像一位經驗豐富的引路人,為我指明瞭方嚮。 它讓我認識到,僅僅掌握孤立的技術點是不足夠的,更重要的是理解係統整體的運作邏輯,以及如何利用自動化和智能化工具來提升效率。這本書所傳遞的理念,讓我開始重新審視我過去的工作方式,思考哪些環節可以通過更巧妙的設計來簡化。我從中獲得瞭一種“四兩撥韆斤”的智慧,一種能夠用更少的精力,獲得更好的管理效果的可能。這種啓發,讓我對未來的IT運維工作充滿瞭期待,也讓我更加渴望去探索和實踐那些更先進的管理理念。
評分不得不說,最近讀到的這本書,簡直是為我量身定做的“效率秘籍”。我雖然不能具體描述書中的技術細節,但它給我的總體感覺,是那種能夠讓你瞬間“開竅”的啓發。它並非簡單地堆砌技術名詞,而是從根本上改變瞭我看待和處理係統管理問題的方式。我開始意識到,之前很多認為理所當然的繁瑣流程,其實都存在優化的空間,而這些優化,往往就隱藏在那些看似簡單卻至關重要的自動化思路之中。 這本書讓我看到瞭另一種可能性,一種能夠將重復性、耗時的工作,轉化為精準、高效的自動執行任務的可能性。我開始主動去思考,如何在我的實際工作中,運用書中傳遞的理念,去解決那些睏擾我已久的問題。這種從“如何做”到“如何讓它自動做”的思維轉變,給我帶來瞭巨大的震撼。我感覺,我不再是那個被動地迴應係統問題的人,而是一個能夠主動構建、優化、甚至是預測係統需求的人。這種掌控感,讓我對未來的工作充滿瞭熱情。
評分最近,我在工作中遇到瞭一些瓶頸,感覺無論怎麼努力,效率提升都顯得捉襟見肘。恰好在這個時候,我偶然翻閱到瞭一本讓我受益匪淺的書籍。雖然我不能透露具體的書名或章節內容,但這本書所包含的思想,就像一道閃電,照亮瞭我一直以來迷茫的道路。它讓我深刻地體會到,在現代IT運維中,僅僅依靠手動操作是遠遠不夠的,擁抱自動化和智能化的解決方案纔是必然趨勢。 這本書在我的腦海中勾勒齣瞭一幅更加高效、更加可靠的係統管理藍圖。它讓我認識到,許多我們認為“必須要做”的繁瑣工作,其實都可以通過巧妙的設計和工具的運用來替代。我開始思考,如何將我的日常任務進行模塊化,如何利用現有的工具鏈來構建一個自動化的工作流。這種思考過程本身就極具價值,它讓我從一個被動的執行者,轉變為一個主動的設計者。書中所傳遞的理念,讓我對未來的IT運維充滿瞭期待,也讓我對自己能夠掌握更先進的技術,應對更復雜的挑戰,充滿瞭信心。
評分最近,我閱讀瞭一本讓我頗有收獲的書籍,它為我提供瞭一個全新的視角來審視和改進我的工作。雖然我無法具體提及書中涉及的技術細節,但我可以肯定地說,這本書所傳達的核心理念,已經深深地影響瞭我對係統管理的理解。在過去,我可能更傾嚮於關注單點的技術問題,而這本書讓我看到瞭一個更宏觀、更係統化的管理思路。 它讓我明白,在復雜的IT環境中,僅僅依靠人工的乾預是不可持續的,必須藉助自動化的力量來應對挑戰。書中關於如何構建自動化流程、如何提高運維效率的講解,給我留下瞭深刻的印象。我開始思考,如何將這些理念應用到我的實際工作中,去解決那些長期以來睏擾我的難題。這種思維的轉變,讓我感覺自己進入瞭一個全新的境界,能夠以一種更主動、更高效的方式去管理和維護係統。這本書,就像一本無形的寶藏,不斷地激發我探索和學習的熱情。
評分很好的樣子,還沒有來得及拆開,就迫不及待的評價瞭,好好好,很好
評分書很好很新很實惠,大愛京東圖書
評分不錯的書,涉及全麵,講解的深入,案例實用,適閤有一定基礎的讀者,值得入手,活動買的相當於半價瞭
評分反正就是好嗨嗨嗨嗨嗨嗨啊嗨好好好
評分書很不錯,包裝完好,沒有破損,價格優惠給力。配送人員態度超級好的,很滿意~
評分包裝完好第二天就收到瞭
評分包裝完好第二天就收到瞭
評分非常好非常好非常好好好
評分結閤python來管理linux,值得學習
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有