超深度講解shell高級(jí)編程實(shí)戰(zhàn)瓤檐,截至目前shell編程課程國(guó)內(nèi)培訓(xùn)機(jī)構(gòu)最細(xì)的課程,不信請(qǐng)看學(xué)員表現(xiàn)的水平娱节。
課程牛不牛挠蛉,不是看老師、課表括堤,而是看培養(yǎng)的的學(xué)生水平碌秸,目前全免費(fèi)中伙伴們趕緊看啊。
http://edu.51cto.com/course/course_id-5257.html
企業(yè)合格的linux運(yùn)維必會(huì)編程題悄窃,能獨(dú)立完成的同學(xué)就業(yè)工資不會(huì)低于12K
這是老男孩linux運(yùn)維班要求學(xué)生必會(huì)的題目讥电,完不成的不能合格畢業(yè),每個(gè)完成的都獎(jiǎng)勵(lì)價(jià)值500-1000元的等值禮物(以當(dāng)天考試成績(jī)宣布為準(zhǔn))轧抗,要進(jìn)要退自己抉擇恩敌,伙伴們走起!
實(shí)戰(zhàn)考試時(shí)間就在2016年1月15日上機(jī)實(shí)戰(zhàn)横媚,禁止大面積抄襲學(xué)習(xí)課堂筆記否則無(wú)獎(jiǎng)勵(lì)纠炮!
共21道考試題月趟,面授上課幾乎全部講解過(guò)類似的案例,考試題略微變更而已恢口。
企業(yè)面試題1:(生產(chǎn)實(shí)戰(zhàn)案例):監(jiān)控MySQL主從同步是否異常孝宗,如果異常,則發(fā)送短信或者郵件給管理員耕肩。提示:如果沒(méi)主從同步環(huán)境,可以用下面文本放到文件里讀取來(lái)模擬: 階段1:開發(fā)一個(gè)守護(hù)進(jìn)程腳本每30秒實(shí)現(xiàn)檢測(cè)一次因妇。
階段2:如果同步出現(xiàn)如下錯(cuò)誤號(hào)(1158,1159,1008,1007,1062),則跳過(guò)錯(cuò)誤猿诸。
階段3:請(qǐng)使用數(shù)組技術(shù)實(shí)現(xiàn)上述腳本(獲取主從判斷及錯(cuò)誤號(hào)部分)
[root@oldboy~]# mysql -uroot -p'oldboy' -S /data/3307/mysql.sock -e "show slavestatus\G;"
*************************** 1\. row ***************************
Slave_IO_State:Waiting for master to send event
Master_Host:10.0.0.179 #當(dāng)前的mysql master服務(wù)器主機(jī)
Master_User: rep
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:mysql-bin.000013
Read_Master_Log_Pos: 502547
Relay_Log_File:relay-bin.000013
Relay_Log_Pos:251
Relay_Master_Log_File:mysql-bin.000013
Slave_IO_Running:Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: mysql
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 502547
Relay_Log_Space:502986
Until_Condition:None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0 #和主庫(kù)比同步延遲的秒數(shù)婚被,這個(gè)參數(shù)很重要
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
企業(yè)面試題2: 使用for循環(huán)在/oldboy目錄下通過(guò)隨機(jī)小寫10個(gè)字母加固定字符串oldboy批量創(chuàng)建10個(gè)html文件,名稱例如為:
[root@oldboy oldboy]# sh /server/scripts/oldboy.sh
[root@oldboy oldboy]# ls
coaolvajcq_oldboy.html qnvuxvicni_oldboy.html vioesjmcbu_oldboy.html
gmkhrancxh_oldboy.html tmdjormaxr_oldboy.html wzewnojiwe_oldboy.html
jdxexendbe_oldboy.html ugaywanjlm_oldboy.html xzzruhdzda_oldboy.html
qcawgsrtkp_oldboy.html vfrphtqjpc_oldboy.html
企業(yè)面試題3:請(qǐng)用至少兩種方法實(shí)現(xiàn)梳虽! 將以上文件名中的oldboy全部改成oldgirl(用for循環(huán)實(shí)現(xiàn)),并且html改成大寫址芯。
企業(yè)面試題4: 批量創(chuàng)建10個(gè)系統(tǒng)帳號(hào)oldboy01-oldboy10并設(shè)置密碼(密碼為隨機(jī)8位字符串)。
企業(yè)面試題5: 寫一個(gè)腳本窜觉,實(shí)現(xiàn)判斷10.0.0.0/24網(wǎng)絡(luò)里谷炸,當(dāng)前在線用戶的IP有哪些(方法有很多)
企業(yè)實(shí)戰(zhàn)題6:請(qǐng)用至少兩種方法實(shí)現(xiàn)! 寫一個(gè)腳本解決DOS***生產(chǎn)案例
提示:根據(jù)web日志或者或者網(wǎng)絡(luò)連接數(shù)禀挫,監(jiān)控當(dāng)某個(gè)IP并發(fā)連接數(shù)或者短時(shí)內(nèi)PV達(dá)到100淑廊,即調(diào)用防火墻命令封掉對(duì)應(yīng)的IP,監(jiān)控頻率每隔3分鐘特咆。防火墻命令為:iptables -I INPUT -s 10.0.1.10 -j DROP季惩。
答案見:https://blog.51cto.com/oldboy/2141081
企業(yè)實(shí)戰(zhàn)題7: 開發(fā)mysql多實(shí)例啟動(dòng)腳本:
已知mysql多實(shí)例啟動(dòng)命令為:mysqld_safe--defaults-file=/data/3306/my.cnf &
停止命令為:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sockshutdown
請(qǐng)完成mysql多實(shí)例啟動(dòng)啟動(dòng)腳本的編寫
要求:用函數(shù),case語(yǔ)句腻格、if語(yǔ)句等實(shí)現(xiàn)画拾。
開發(fā)MySQL單實(shí)例專業(yè)腳本答案見:https://blog.51cto.com/oldboy/2124950
企業(yè)實(shí)戰(zhàn)題8:如何實(shí)現(xiàn)對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行分庫(kù)備份,請(qǐng)用腳本實(shí)現(xiàn)
企業(yè)實(shí)戰(zhàn)題9:如何實(shí)現(xiàn)對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行分庫(kù)加分表備份菜职,請(qǐng)用腳本實(shí)現(xiàn)
企業(yè)面試題10:請(qǐng)用至少兩種方法實(shí)現(xiàn)青抛! bash for循環(huán)打印下面這句話中字母數(shù)不大于6的單詞(昆侖萬(wàn)維面試題)。
I am oldboy teacher welcome to oldboy training class.
**企業(yè)面試題11:****開發(fā)shell腳本分別實(shí)現(xiàn)以腳本傳參以及read讀入的方式比較2個(gè)整數(shù)大小酬核。以屏幕輸出的方式提醒用戶比較結(jié)果蜜另。注意:一共是開發(fā)2個(gè)腳本。當(dāng)用腳本傳參以及read讀入的方式需要對(duì)變量是否為數(shù)字嫡意、并且傳參個(gè)數(shù)做判斷举瑰。**
企業(yè)面試題12:打印選擇菜單,一鍵安裝Web服務(wù):
[root@oldboyscripts]# sh menu.sh
1.[install lamp]
2.[install lnmp]
3.[exit]
pls input the num you want:
要求:
1蔬螟、當(dāng)用戶輸入1時(shí)此迅,輸出“startinstalling lamp.”然后執(zhí)行/server/scripts/lamp.sh,腳本內(nèi)容輸出"lampis installed"后退出腳本;
2耸序、當(dāng)用戶輸入2時(shí)忍些,輸出“startinstalling lnmp.”然后執(zhí)行/server/scripts/lnmp.sh輸出"lnmpis installed"后退出腳本;
3、當(dāng)輸入3時(shí)坎怪,退出當(dāng)前菜單及腳本罢坝;
4、當(dāng)輸入任何其它字符搅窿,給出提示“Input error”后退出腳本炸客。
5、要對(duì)執(zhí)行的腳本進(jìn)行相關(guān)條件判斷戈钢,例如:腳本是否存在,是否可執(zhí)行等是尔。
企業(yè)面試題13:
1殉了、監(jiān)控web服務(wù)是否正常,不低于3種監(jiān)控策略拟枚。
2薪铜、監(jiān)控db服務(wù)是否正常,不低于3種監(jiān)控策略恩溅。
要求間隔1分鐘隔箍,持續(xù)監(jiān)控。
企業(yè)面試題14:監(jiān)控memcache服務(wù)是否正常脚乡,模擬用戶(web客戶端)檢測(cè)蜒滩。
使用nc命令加上set/get來(lái)模擬檢測(cè),以及監(jiān)控響應(yīng)時(shí)間及命中率奶稠。
企業(yè)面試題15****:面試及實(shí)戰(zhàn)考試題:監(jiān)控web站點(diǎn)目錄(/var/html/www)下所有文件是否被惡意篡改(文件內(nèi)容被改了)俯艰,如果有就打印改動(dòng)的文件名(發(fā)郵件),定時(shí)任務(wù)每3分鐘執(zhí)行一次(10分鐘時(shí)間完成)锌订。
企業(yè)面試題16:企業(yè)案例:寫網(wǎng)絡(luò)服務(wù)獨(dú)立進(jìn)程模式下rsync的系統(tǒng)啟動(dòng)腳本
例如:/etc/init.d/rsyncd{start|stop|restart} 竹握。
要求:
1.要使用系統(tǒng)函數(shù)庫(kù)技巧。
2.要用函數(shù)辆飘,不能一坨SHI的方式啦辐。
3.可被chkconfig管理。
企業(yè)面試題17:老男孩教育****天津項(xiàng)目學(xué)生實(shí)踐抓鬮題目:
好消息蜈项,老男孩培訓(xùn)學(xué)生外出企業(yè)項(xiàng)目實(shí)踐機(jī)會(huì)(第6次)來(lái)了(本月中旬)芹关,但是,名額有限紧卒,隊(duì)員限3人(班長(zhǎng)帶隊(duì))充边。
因此需要挑選學(xué)生,因此需要一個(gè)抓鬮的程序:
要求:
1、執(zhí)行腳本后浇冰,想去的同學(xué)輸入英文名字全拼贬媒,產(chǎn)生隨機(jī)數(shù)01-99之間的數(shù)字,數(shù)字越大就去參加項(xiàng)目實(shí)踐肘习,前面已經(jīng)抓到的數(shù)字际乘,下次不能在出現(xiàn)相同數(shù)字。
2漂佩、第一個(gè)輸入名字后脖含,屏幕輸出信息,并將名字和數(shù)字記錄到文件里投蝉,程序不能退出繼續(xù)等待別的學(xué)生輸入养葵。
答案:https://blog.51cto.com/oldboy/1308647
企業(yè)面試題18:老男孩linux企業(yè)面試題:
已知下面的字符串是通過(guò)RANDOM隨機(jī)數(shù)變量md5sum|cut-c 1-8截取后的結(jié)果,請(qǐng)破解這些字符串對(duì)應(yīng)的md5sum前的RANDOM對(duì)應(yīng)數(shù)字瘩缆?
21029299
00205d1c
a3da1677
1f6d12dd
890684b
企業(yè)面試題19:批量檢查多個(gè)網(wǎng)站地址是否正常
要求:shell數(shù)組方法實(shí)現(xiàn)关拒,檢測(cè)策略盡量模擬用戶訪問(wèn)思路
http://10.0.0.7
企業(yè)面試題20(中企動(dòng)力):****:用shell處理以下內(nèi)容
1、按單詞出現(xiàn)頻率降序排序庸娱!
2着绊、按字母出現(xiàn)頻率降序排序!
The months of learning in Old Boy education are the few months that I think the time efficient is the most.I had also studied at other training institutions before, but I was hard to understand what the tutor said and hard to follow. It was just too much to learn with no outline.
(我認(rèn)為在老男孩教育中學(xué)習(xí)的幾個(gè)月是時(shí)間效率最高的幾個(gè)月熟尉。我之前也在其他培訓(xùn)機(jī)構(gòu)學(xué)習(xí)過(guò)归露,但是我很難理解導(dǎo)師說(shuō)了什么,也很難跟上斤儿。沒(méi)有大綱剧包,學(xué)起來(lái)太難了。)
答案:
企業(yè)面試題21:輸出正方形往果、等腰三角形玄捕、直角梯形,見如下內(nèi)容
http://oldboy.blog.51cto.com/2561410/1718607
****企業(yè)面試題22:開發(fā)通過(guò)web界面展示監(jiān)控Nginx代理節(jié)點(diǎn)狀態(tài)棚放,效果圖如下枚粘。****
答案:https://blog.51cto.com/oldboy/1589685
lvs+keepalived集群部分Shell企業(yè)案例:
企業(yè)面試題23、【LVS主節(jié)點(diǎn)】手工開發(fā)ipvsadm管理lvs的腳本ip_vs
實(shí)現(xiàn):/etc/init.d/lvs {start|stop|restart}
企業(yè)面試題****24飘蚯、【LVS主節(jié)點(diǎn)】模擬keepalived健康檢查功能管理LVS節(jié)點(diǎn)馍迄,
當(dāng)節(jié)點(diǎn)掛掉(檢測(cè)2次,間隔2秒)從服務(wù)器池中剔除局骤,好了(檢測(cè)2次攀圈,間隔2秒)加進(jìn)來(lái)
提示:利用ipvsadm命令實(shí)現(xiàn)添加和減少LVS節(jié)點(diǎn)。
企業(yè)面試題25峦甩、【LVS客戶端節(jié)點(diǎn)】開發(fā)LVS客戶端設(shè)置VIP以及抑制ARP的管理腳本
實(shí)現(xiàn):/etc/init.d/lvsclient {start|stop|restart}
企業(yè)面試題26赘来、【LVS備節(jié)點(diǎn)】模擬keepalved vrrp功能现喳,監(jiān)聽主節(jié)點(diǎn),如果主節(jié)點(diǎn)不可訪問(wèn)則備節(jié)點(diǎn)啟動(dòng)并配置LVS實(shí)現(xiàn)接管主節(jié)點(diǎn)的資源提供服務(wù)(提醒:注意ARP緩存)
企業(yè)面試題27犬辰、請(qǐng)用shell或Python編寫一個(gè)正方形(oldboy_square.sh)嗦篱,接收用戶輸入的數(shù)字。
例如:
[root@oldboy ~]# sh oldboy_square1.sh
Please Enter a number:5
++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
[root@oldboy ~]# sh oldboy_square2.sh
Please Enter a number:9
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
企業(yè)面試題28幌缝、請(qǐng)用shell或Python編寫一個(gè)等腰三角形(oldboy2_triangle.sh)灸促,接收用戶輸入的數(shù)字。
例如:
[root@oldboy ~]# sh oldboy2_triangle.sh
Please Enter a number:5
*
***
*****
*******
*********
[root@oldboy ~]# sh oldboy2_triangle.sh
Please Enter a number:8
*
***
*****
*******
*********
***********
*************
***************
企業(yè)面試題29涵卵、請(qǐng)用shell或Python編寫一個(gè)畫直角梯形程序(oldboy4.sh)浴栽,接收用戶輸入的參數(shù)n,m
例如:
[root@oldboy ~]# sh oldboy4.sh 4 6
****
*****
******
27,28,29三道題參考http://oldboy.blog.51cto.com/2561410/1718607
企業(yè)面試題30:寫一套簡(jiǎn)單的企業(yè)代碼上線發(fā)布系統(tǒng)案例轿偎,利用SVN對(duì)代碼及配置文件進(jìn)行管理典鸡,在辦公室服務(wù)器上從svn取出指定版本的代碼和配置,發(fā)布到IDC機(jī)房分發(fā)機(jī)服務(wù)器上坏晦,在分發(fā)服務(wù)器或者負(fù)載均衡器上或者應(yīng)用服務(wù)器本地實(shí)現(xiàn)代碼平滑發(fā)布萝玷、上線、回滾腳本(具體設(shè)計(jì)請(qǐng)參考課堂講解的企業(yè)代碼發(fā)布方案)英遭。
企業(yè)面試題31:請(qǐng)?jiān)O(shè)計(jì)一套Git+Saltstack實(shí)現(xiàn)代碼的線上發(fā)布及管理方案。
(可參考跟老男孩學(xué)習(xí)Linux運(yùn)維:Shell高級(jí)編程實(shí)戰(zhàn)一書內(nèi)容)
轉(zhuǎn)載的網(wǎng)友亦渗,請(qǐng)務(wù)必保留本文章的全部?jī)?nèi)容挖诸,謝謝。
檢查標(biāo)準(zhǔn):
1法精、查看實(shí)現(xiàn)的腳本多律,并詢問(wèn)腳本中的設(shè)計(jì)思想及實(shí)現(xiàn)流程。
2搂蜓、必要情況下狼荞,面試官可以看著你要求你重新開發(fā)出來(lái)。
3帮碰、檢查人:班長(zhǎng)相味,組長(zhǎng),老男孩老師殉挽,助教丰涉。