1. 程式人生 > 其它 >Linux運維工程師之必備技能【基礎版】

Linux運維工程師之必備技能【基礎版】

本人是 Linux 運維工程師,對這方面有點心得,現在我說說要掌握哪方面的工具吧。

說到工具,在行外可以說是技能,在行內我們一般稱為工具,就是運維必須要掌握的工具。

我就大概列出這幾方面,這樣入門就基本沒問題了。

Linux 系統如果是學習可以選用 Redhat 或 CentOS,特別是 CentOS 在企業中用得最多,當然現在Centos已經停止維護了,不過還有Rocky Linux啦,這個完全相容Centos的~~~

工具如下:

1、Linux 系統基礎

這個不用說了,是基礎中的基礎,連這個都不會就別幹了,參考書籍,可以看鳥哥 linux 基礎篇,至少要掌握這書 60%內容,沒必須全部掌握,但基本命令總得會吧。

2、網路服務

服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握,如 FTP, DNS,SAMBA, 郵件, 這幾個大概學一下就行,LAMP 和 LNMP 是必須要熟練,我所指的不是光光會搭建,而是要很熟悉裡面的相當配置才行,因為公司最關鍵的絕對是 WEB 伺服器,所以 nginx 和 apache 要熟悉,特別是 nginx 一定要很熟悉才行,至少有些公司還會用 tomcat,這個也最好學一下。其實網路服務方面不用太擔心,一般公司的環境都已經搭建好,就算有新伺服器或讓你整改,公司會有相應的文件讓你參照來弄,不會讓你亂來的,但至少相關的配置一定要學熟,而且肯定是編譯安裝多,那些模組要熟悉一下他的作用,特別是 PHP 那些模組。

這上面 2 點只是基礎,也是必要條件,不能說是工具,以下才是真正的要掌握的工具。

3、shell 指令碼和另一個指令碼語言

shell 是運維人員必須具備的,不懂這個連入職都不行,至少也要寫出一些系統管理指令碼,最簡單也得寫個監控 CPU,記憶體比率的指令碼吧,這是最最最基本了,別以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,只作學習意義,寫系統指令碼才是最有意義,而另一個指令碼語言是可選的,一般是python, perl 和 php,php 就不需要考慮了,除非你要做開發,我個人建議學 python 會比較好,perl 是文字處理很強大,反正這兩個學一個就行了。

4、sed 和 awk 工具

必須要掌握,在掌握這兩個工具同時,還要掌握正則表示式,這個就痛苦了,正則是最難學的表示式,但結合到 sed 和 awk 中會很強大,在處理文字內容和過濾 WEB 內容時十分有用,不過在學 shell 的同時一般會經常結合用到的,所以學第 3 點就會順便學第 4 點。

5、文字處理命令

sort, tr, cut, paste, uniq, tee 等,必學,也是結合第 3 點時一併學習的。

6、資料庫

首選 mysql,別問我為什麼不學 sqlserver 和 oracle,因為 Linux 用得最多絕對是 mysql,增刪改查必學,特別要學熟查,其它方面可能不太需要,因為運維人員使用最多還是查,哪些優化和開發語句不會讓你弄的。

7、防火牆

不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則,如果學過 CCNA 的朋友可能會比較好學,因為 iptables 也有 NAT 表,原理是一樣的,而 FILTER 表用得最多,反正不學就肯定不合格。

8、監控工具

十分十分重要,我個人建議,最好學這 3 個,cacti,nagios,zabbix,企業用得最多應該是 nagios 和 zabbix,反正都學吧,但 nagios 會有點難,因為會涉及到用指令碼寫自動監控,那個地方很難。

9、叢集和熱備

這個很重要,肯定要懂的,但到了公司就不會讓你去弄,因為新手基本不讓你碰,叢集工具有很多,最好學是 LVS,這是必學,最好也學學 nginx 叢集,反向代理,還有熱備,這個就更多工具能實現了,像我公司是自己開發熱備工具的,mysql 熱備也要學,就是主從複製,這個別告訴我容易,其實不容易的,要學懂整個流程一點也不容易,只照著做根本沒意思。

10、資料備份

不學不行,工具有很多,但至少要把 RAID 的原理弄懂,特別是企業最常用的 1+0 或 0+1,自己做實驗也要弄出來,備份工具有很多,如 tar, dump, rsync 等,最好多瞭解一下。

算了,說到這 10 點已經夠你受了,應該可以入門了,因為有些技術會比較難學,例如 apache 和 nginx 中還有些很重要的技術,如系統調優和服務優化,還有程式優化,這些在沒接觸工作前很難學習到的,所以先把這 10 點學了吧,估計要學熟至少 3 個月不止,就指令碼那部分已經讓你很吃力了,我建議是先學熟 shell,等工作後再學另一門指令碼語言,這樣會比較好。

以上就是踏入 Linux 運維工程師需要掌握的工具,其實還有很多工具要掌握的,但你在學習環境中是很難學到,最後我再提醒一下,這裡所指的工具相當於技能,而不是像 windows 或 ubuntu 那些圖形化工具,那些工具沒用的,還有,學 Linux 就別裝圖形介面,這樣虛擬機器就不用吃太多記憶體,而且絕對不建議在真機上裝 Linux,根本達不到學習效果。