跟老男孩學Linux運維:企業Shell面試題及企業運維實戰案例
原創【51CTO.com原創稿件】我是51CTO學院講師老男孩,在學院11.11(全民IT學習節)到來之際,和大家分享一下我的IT從業經驗。正文來啦~~~
1 企業Shell面試題實戰案例
1.1 企業Shell面試題1:批量生成隨機字符文件名案例
使用for循環在/oldboy目錄下批量創建10個html文件,其中每個文件需要包含10個隨機小寫字母加固定字符串oldboy,名稱示例如下:
- [root@oldgirl C19]# ls /oldboy
- apquvdpqbk_oldboy.html mpyogpsmwj_oldboy.html txynzwofgg_oldboy.html
- bmqiwhfpgv_oldboy.html mtrzobsprf_oldboy.html vjxmlflawa_oldboy.html
- jhjdcjnjxc_oldboy.html qeztkkmewn_oldboy.html
- jpvirsnjld_oldboy.html ruscyxwxai_oldboy.html
解答:
1.2 企業Shell面試題2:批量改名特殊案例
將以上面試題1.1中結果文件名中的oldboy字符串全部改成oldgirl(最好用for循環實現),并且將擴展名html全部改成大寫。
解答:
1.3 企業Shell面試題3:批量創建特殊要求用戶案例
批量創建10個系統帳號oldboy01-oldboy10并設置密碼(密碼為隨機數,要求字符和數字等混合)。
不用for循環的實現思路:http://user.qzone.qq.com/49000448/blog/1422183723
解答:
1.4 企業Shell面試題4:掃描網絡內存活主機案例
寫一個Shell腳本,判斷10.0.0.0/24網絡里,當前在線的IP有哪些?
解答:
1.5 企業Shell面試題5:解決DOS攻擊生產案例
寫一個Shell腳本解決DOS攻擊生產案例。
請根據web日志或者網絡連接數,監控當某個IP并發連接數或者短時內PV達到100(讀者根據實際情況設定),即調用防火墻命令封掉對應的IP。防火墻命令為:iptables -I INPUT -s IP地址 -j DROP。
解答:
1.6 企業Shell面試題6:MySQL數據庫分庫備份
請實現對MySQL數據庫進行分庫備份,用腳本實現。
解答:
1.7 企業Shell面試題7:MySQL數據庫分庫分表備份
如何實現對MySQL數據庫進行分庫加分表備份,請用腳本實現。
解答:
1.8 企業Shell面試題8:篩選符合長度的單詞案例
利用bash for循環,打印下面這句話中字母數不大于6的單詞(某企業面試真題)。
I am oldboy teacher welcome to oldboy training class
解答:
1.9 企業Shell面試題9:MySQL主從復制異常監控案例
開發一個守護進程腳本每30秒監控MySQL主從復制是否異常(包括不同步以及延遲),如果異常,則發送短信并發送郵件給管理員存檔。提示:如果沒主從復制的環境,可以把下面文本放到文件里讀取來模擬主從復制狀態:
解答:
1.10 企業Shell面試題10:比較整數大小經典案例
綜合實戰案例:開發shell腳本分別實現以腳本傳參以及read讀入的方式比較2個整數大小。用條件表達式(禁止if)進行判斷并以屏幕輸出的方式提醒用戶比較結果。注意:一共是開發2個腳本。當用腳本傳參以及read讀入的方式需要對變量是否為數字、并且傳參個數不對給予提示。
解答:
1.11 企業Shell面試題11:菜單自動化軟件部署經典案例
綜合實例:打印選擇菜單,按照選擇一鍵安裝不同的Web服務。
示例菜單:
- [root@oldboy scripts]# sh menu.sh
- 1.[install lamp]
- 2.[install lnmp]
- 3.[exit]
- pls input the num you want:
要求:
1、當用戶輸入1時,輸出“start installing lamp.提示”,然后執行/server/scripts/lamp.sh,腳本內容輸出"lamp is installed"后退出腳本,工作中就是正式lamp一鍵安裝腳本;
2、當用戶輸入2時,輸出“start installing lnmp.提示”,然后執行/server/scripts/lnmp.sh輸出"lnmp is installed"后退出腳本,工作中就是正式lnmp一鍵安裝腳本;
3、當輸入3時,退出當前菜單及腳本;
4、當輸入任何其他字符,給出提示“Input error”后退出腳本;
5、要對執行的腳本進行相關的條件判斷,例如:腳本文件是否存在,是否可執行等判斷,盡量用上前面講解的知識點。
解答:
1.12 企業Shell面試題12:Web及MySQL服務異常監測案例
用if條件語句實現對Nginx Web服務以及MySQL數據庫服務是否正常進行檢測,如果服務未啟動,則啟動相應服務。
解答:
1.13 企業Shell面試題13:監控Memcached緩存服務是否正常
監控Memcached緩存服務是否正常,模擬用戶(web客戶端)檢測。
使用nc命令加上set/get來模擬檢測。
解答:
1.14 企業Shell面試題14:開發腳本入侵檢測與報警案例
面試及實戰考試題:監控web站點目錄(/var/html/www)下所有文件是否被惡意篡改(文件內容被改了),如果有就打印改動的文件名(發郵件),定時任務每3分鐘執行一次。
解答:
1.15 企業Shell面試題15:開發Rsync服務啟動腳本案例
寫網絡服務獨立進程模式下Rsync的系統啟動腳本,例如:/etc/init.d/rsyncd {start|stop|restart}。
要求:
1.要使用系統函數庫技巧。
2.要用函數,不能一坨SHI的方式。
3.可被chkconfig管理。
解答:
1.16 企業Shell面試題16:開發MySQL多實例啟動腳本
開發MySQL多實例啟動腳本:
已知MySQL多實例啟動命令為:mysqld_safe --defaults-file=/data/3306/my.cnf &
停止命令為:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sock shutdown
請完成mysql多實例啟動啟動腳本的編寫
要求:用函數,case語句、if語句等實現。
解答:
1.17 企業Shell面試題17:天津項目學生實踐抓鬮案例
好消息,老男孩培訓學生外出企業項目實踐機會(第6次)來了(本月中旬),但是,名額有限,隊員限3人(班長帶隊)。
因此需要挑選學生,因此需要一個抓鬮的程序:
要求:
1、執行腳本后,想去的同學輸入英文名字全拼,產生隨機數01-99之間的數字,數字越大就去參加項目實踐,前面已經抓到的數字,下次不能在出現相同數字。
2、第一個輸入名字后,屏幕輸出信息,并將名字和數字記錄到文件里,程序不能退出繼續等待別的學生輸入。
解答:
1.18 企業Shell面試題18:破解RANDOM隨機數案例
已知下面的字符串是通過RANDOM隨機數變量md5sum后,再截取一部分連續字符串的結果,請破解這些字符串對應的使用md5sum處理前的RANDOM對應的數字?
21029299
00205d1c
a3da1677
1f6d12dd
890684b
解答:
1.19 企業Shell面試題19:批量檢查多個網站地址是否正常
企業面試題:批量檢查多個網站地址是否正常
要求:
1、使用shell數組方法實現,檢測策略盡量模擬用戶訪問。
2、每10秒鐘做一次所有的檢測,無法訪問的輸出報警。
3、待檢測的地址如下:
解答:
1.20 企業Shell面試題20:單詞及字母去重排序案例
用shell處理以下內容
1、按單詞出現頻率降序排序!
2、按字母出現頻率降序排序!
the squid project provides a number of resources to assist users design,implement and support squid installations. Please browse the documentation and support sections for more infomation,by oldboy training.
課堂實戰考察某企業shell面試考試題
http://oldboy.blog.51cto.com/2561410/1686891
解答:
1.21 企業Shell面試題21:開發腳本管理服務端LVS案例
請在LVS負載均衡主節點上,開發管理LVS服務的腳本ip_vs。
實現:利用ipvsadm可以啟動并配置好LVS服務,腳本形式:/etc/init.d/lvs{start|stop|restart}
解答:
1.22 企業Shell面試題22:LVS節點健康檢查及管理腳本案例
請在LVS負載均衡主節點上,模擬keepalived健康檢查功能管理LVS節點,
當節點掛掉從服務器池中剔除,好了再加到服務器池中來。
解答:
1.23 企業Shell面試題23:LVS客戶端配置腳本案例
請在LVS客戶端節點上,開發LVS客戶端設置VIP以及抑制ARP的管理腳本
實現:/etc/init.d/lvsclient {start|stop|restart}
解答:
1.24 企業Shell面試題24:模擬keepalved軟件高可用案例
請在LVS服務端備用節點上,模擬keepalved vrrp功能,監聽主節點,如果主節點不可訪問則備節點啟動并配置LVS實現接管主節點的資源提供服務(提醒:注意ARP緩存),提示此題要借助1.21的功能。
解答:
1.25 企業Shell面試題25:編寫正(或長)方形圖形案例
請用shell或Python編寫一個正(或長)方形,接收用戶輸入的數字。
解答:
1.26 企業Shell面試題26:編寫等腰三角形圖形字符案例
請用shell或Python編寫一個等腰三角形,接收用戶輸入的數字。
解答:
1.27 企業Shell面試題27:編寫直角梯形圖形字符案例
請用shell或Python編寫一個畫直角梯形程序,接收用戶輸入的參數n(n>2),m。
解答
1.28 企業Shell面試題28:51CTO博文爬蟲案例
獲取51CTO博客列表倒序排序考試題
老男孩教育培訓機構需求:
需求如下:
請把http://oldboy.blog.51cto.com 地址中的所有博文,按照時間倒序列表如下:
2013-09-13 運維就是一場沒有硝煙的戰爭
http://oldboy.blog.51cto.com/2561410/1296694
2016-04-17 運維人員寫項目方案及推進項目的基本流程思路
http://oldboy.blog.51cto.com/2561410/1764820
附加:高級要求:
生成html頁面,并設置超鏈接。
結果如下:
http://oldboy.blog.51cto.com/2561410/1862041
解答:
1.29 企業Shell面試題29:Nginx負載節點狀態監測案例
開發通過Web界面展示監控Nginx代理節點狀態,效果圖如下,當節點宕機時,以紅色展示,當節點正常時以綠色展示。
解答:
1.30 企業Shell面試題30:企業代碼上線發布系統案例
寫一套簡單的企業代碼上線發布系統案例,利用SVN對代碼及配置文件進行管理,在辦公室服務器上從SVN取出指定版本的代碼和配置,發布到IDC機房分發機服務器上,在分發服務器或者負載均衡器上或者應用服務器本地實現代碼平滑發布、上線、回滾腳本(具體設計請參考課堂講解的企業代碼發布方案)。
推薦課程:
2016最新Shell高級編程實戰視頻課程套餐
http://edu.51cto.com/pack/view/id-546.html
老男孩,在學院有176門精品課程。老男孩Linux培訓創始人,資深Linux集群實戰架構專家,從事一線運維架構及教育培訓13年。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】