it自動化運維就是要很友善的運用各種工具進行管理維護,有效的實施伺服器保護
linux運維人員常用工具介紹
1.很多地方經常會用到的rsync工具 實施幾台伺服器的同步效果
我們公司就是使用這個工具完成伺服器的遊戲的服務端和用戶端同步,有幾個文章例子
rsync 強化技術(手動修改端口開啟防火牆的情況下)并且通過腳本隻同步需要的伺服器
inotify+rsync+mutt+msmtp 實作linux檔案或者目錄自動更新并且實作發郵件給管理者
2、網絡服務,服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握,如FTP, DNS,SAMBA, 郵件, 這幾個大概學一下就行,LAMP和LNMP是必須要熟練,我所指的不是光光會搭建,而是要很熟悉裡面的相當配置才行,因為公司最關鍵的絕對是WEB伺服器,是以nginx和apache要熟悉,特别是nginx一定要很熟悉才行,至少有些公司還會用tomcat,這個也最好學一下。其實網絡服務方面不用太擔心,一般公司的環境都已經搭建好,就算有新伺服器或讓你整改,公司會有相應的文檔讓你參照來弄,不會讓你亂來的,但至少相關的配置一定要學熟,而且肯定是編譯安裝多,那些子產品要熟悉一下他的作用,特别是PHP那些子產品。
這面2點隻是基礎,也是必要條件,不能說是工具,下以才是真正的要掌握的工具。
Samba檔案共享服務(共享腳本 讓你工作更輕松)
Linux web服務安裝apache 思路 (源碼編譯,自己定義服務)
FTP(持虛拟使用者,并且每個虛拟使用者可以具有獨立的屬性配置)
linux 下建構DHCP伺服器
3、shell腳本和另一個腳本語言,shell是運維人員必須具備的,不懂這個連入職都不行,至少也要寫出一些系統管理腳本,最簡單也得寫個監控CPU,記憶體比率的腳本吧,這是最最最基本了,别以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,隻作學習意義,寫系統腳本才是最有意義,而另一個腳本語言是可選的,一般是3P,即python, perl和php,php就不需要考慮了,除非你要做開發,我個人建議學python會比較好,難實作自動化運維,perl是文本處理很強大,反正這兩個學一個就行了。
Shell(一) 入門到複雜 自己做的各種腳本執行個體與解釋
Shell(二)入門到複雜 腳本執行個體(電腦)
4、sed和awk工具,必須要掌握,在掌握這兩個工具同時,還要掌握正規表達式,這個就痛苦了,正則是最難學的表達式,但結合到sed和awk中會很強大,在處理文本内容和過濾WEB内容時十分有用,不過在學shell的同時一般會經常結合用到的,是以學第3點就會順便學第4點。
sed 簡明教程
5、文本處理指令,sort , tr , cut, paste, uniq, tee等,必學,也是結合第3點時一并學習的。
6、資料庫,首選mysql,别問我為什麼不學sqlserver和oracle,因為linux用得最多絕對是mysql,增删改查必學,特别要學熟查,其它方面可能不太需要,因為運維人員使用最多還是查,哪些優化和開發語句不會讓你弄的。
Mysql(手動編譯詳細思路,以及增删改查,授權,備份還原)
7、防火牆,不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則,如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而FILTER表用得最多,反正不學就肯定不合格。
防火牆(一)主機型防火牆
防火牆(二)SNAT和DNAT
8、監控工具,十分十分重要,我個人建議,最好學這3個,cacti,nagios,zibbix,企業用得最多應該是nagios和 zibbix,反正都學吧,但nagios會有點難,因為會涉及到用腳本寫自動監控,那個地方很難。
CentOS 6.2+Nginx+Nagios,手機短信和qq郵箱提醒
伺服器集中檢測Cacti
9、叢集和熱備,這個很重要,肯定要懂的,但到了公司就不會讓你去弄,因為新手基本不讓你碰,叢集工具有很多,最好學是LVS,這是必學,最好也學學nginx叢集,反向代理,還有熱備,這個就更多工具能實作了,像我公司是自己開發熱備工具的,mysql熱備也要學,就是主從複制,這個别告訴我容易,其實不容易的,要學懂整個流程一點也不容易,隻照着做根本沒意思。
mysql 主從同步,雙主同步,如果伺服器意外挂機,不同步怎麼辦
mysql 高性能壓力測試(總結了好久)
nginx 緩存配置及報錯解決
10、資料備份,不學不行,工具有很多,但至少要把RAID的原理弄懂,特别是企業最常用的1+0或0+1,自己做實驗也要弄出來,備份工具有很多,如tar, dump,最好多了解一下。
算了,說到這10點已經夠你受了,應該可以入門了,因為有些技術會比較難學,例如apache和nginx中還有些很重要的技術,如系統調優和服務優化,還有程式優化,這些在沒接觸工作前很難學習到的,是以先把這10點學了吧,估計要學熟至少3個月不止,就腳本那部分已經讓你很吃力了,我建議是先學熟shell,等工作後再學另一門腳本語言,這樣會比較好。
常見的MySQL指令大全
以上就是踏入linux運維工程師需要掌握的工具,其實還有很多工具要掌握的,但你在學習環境中是很難學到,最後我再提醒一下,這裡所指的工具相當于技能,而不是像windows或ubuntu那些圖形化工具,那些工具沒用的,還有,學linux就别裝圖形界面,這樣虛拟機就不用吃太多記憶體,而且絕對不建議在真機上裝linux,根本達不到學習效果。
本文轉自 linuxzkq 51CTO部落格,原文連結:http://blog.51cto.com/linuxzkq/1583905