在當今互聯網時代,Linux運維工程師成為了技術領域中極具需求的職業。下面向剛入行的小白介紹Linux運維工程師必學的8項IT技能。
1.扎實的基礎
試想如果沒有最扎實的基礎,如何去查看文件類型、查看系統運行狀態、編輯文件、輸出文件、創建用戶、分配帳戶權限、使用RAID技術和LVM磁盤陣列等最最基礎的知識,一定要掌握扎實,才能走的更遠。
2.搭建服務
在Linux上面的服務有許多種,而每個公司使用到的也不盡相同,不過最常見且基礎的一定要學會,像ftp、Bind、DHCP、SAMBA服務要了解會簡單配置,而LNMP和LAMP要相當的熟練,不光要會搭建,要熟悉服務里面的配置,每個公司都會用的到Web服務器,因此apache和nginx要熟練掌握,有些公司會使用到tomcat,這樣nginx技術更要求精。公司的網絡大致已經部署完成,不需要考慮網絡的問題,而對于網絡基礎差,甚至于IP、子網掩碼都不懂,那另請拿起CCNA的書籍學習下。
3.會腳本語言
Shell語言是你從事這個行業必須要會的,假如這個都不會,那么你還是洗洗睡覺吧。一些簡單的系統管理shell腳本也是最常見的、使用到的。不要以為會看CPU利用率、內存使用率等這些數字,實際可能并不能解決你的問題,最有意義的還是系統腳本。另一個使用到的語言就是當下比較火的Python,程序效率高、語法簡潔清晰等優點,實現我們的自動化運維。
4.操縱文本文件命令:sed、awk、grep
這三個強大命令被稱為Linux界的三劍客。sed和awk這二個也必須要掌握,工作當中使用的也是最多的。grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行并打印出來。sed 是一個精簡的、非交互式的編輯器,它能執行與編輯vi和emacs相同的編輯任務,但sed編輯器不提供交互使用方式,只能在命令行下輸入編輯命令。awk是一種程序語言,對文檔資料的處理具有很強的功能,awk擅長從格式化報文或從一個大的文本文件中抽取數據。同時需要掌握正則表達式,配合sed和awk當中使用功能會更強大,在處理文本文字和過濾web時十分的有用。
5.MariaDB數據庫
之前在Linux上面使用最多的數據庫是MySQL,悲催是的MySQL數據庫管理系統被Oracle公司收購后從開源走向到了封閉,導致包括紅帽在內的許多Linux發行版選擇了MariaDB。無論使用那種數據庫,你都得需要掌握數據的創建、刪除、添加、查詢、備份和恢復,這些基礎的命令。
6.Firewalld和Iptables
在紅帽RHEL7系統中Firewalld服務取代了Iptables服務,在老的服務器版本上面Iptables依然存在,也都需要學會使用該防火墻。真是不學不行,防火墻是個難點,各種規則,你一定會頭暈。
7.監控zabbix與nagios
服務器運行情況實時反饋,完全依賴有一個好的監控工具,發現問題可以第一時間及時有效的處理,避免更大的損失。對于初學者,Nagios簡單直觀更容易上手,但是zabbix界面更美觀,同時由于功能多上手也更難。對于企業的監控應用來說,兩者都能實現大規模監控,都足以滿足用戶需求,沒有絕對的孰好孰壞。Zabbix是商業軟件開源,Nagios是免費軟件插件組合多。還是都學吧!
8.rsync備份數據
數據是企業最具價值的資產,自然要保護好數據。RAID的原理要懂會配置,知道企業的數據結構,多種備份方式保證數據的安全。rsync保持原來文件的權限、時間、軟硬鏈接等等,可以鏡像保存整個目錄樹和文件系統。有了備份無論設備出現任何故障,你都可以從備份當中還原出來原始數據。