shell: 企业合格的linux运维必会shell编程题
June 5, 2015
企业合格的linux运维必会编程题,能独立完成的同学就业工资不会低于10K
这是 老男孩linux运维班
要求学生必会的题目,完不成的不能合格毕业,每个完成的都奖励价值500-1000元的等值礼物(以当天考试成绩宣布为准),要进要退自己抉择,伙伴们走起!
实战考试时间就在2015年4月15日上机实战,禁止大面积抄袭学习课堂笔记否则无奖励!
>
共18道考试题,面授上课几乎全部讲解过类似的案例,考试题略微变更而已。
企业面试题1:
(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员。提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:
阶段1:开发一个守护进程脚本每30秒实现检测一次。
阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误。
阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分)
[root@oldboy~]# mysql -uroot -p'oldboy' -S /data/3307/mysql.sock -e "show slavestatusG;>" *************************** 1. row *************************** Slave_IO_State:Waiting for master to send event Master_Host:10.0.0.179 #当前的mysql master服务器主机 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 #和主库比同步延迟的秒数,这个参数很重要 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error:
企业面试题2:
使用for循环在/oldboy目录下通过随机小写10个字母批量创建10个html文件,名称例如为:
[root@oldboy oldboy]# sh /server/scripts/oldboy.sh [root@oldboy oldboy]# ls -l total 0 -rw-r--r-- 1 root root 0 Apr 15 11:34coaolvajcq_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34gmkhrancxh_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34jdxexendbe_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34qcawgsrtkp_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34qnvuxvicni_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34tmdjormaxr_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34ugaywanjlm_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34vfrphtqjpc_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34vioesjmcbu_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34wzewnojiwe_oldboy.html -rw-r--r-- 1 root root 0 Apr 15 11:34xzzruhdzda_oldboy.html
企业面试题2:请用至少两种方法实现!
将以上文件名中的oldboy全部改成oldgirl(用for循环实现),并且html改成大写。
企业面试题3:
批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串)。
企业面试题4:
写一个脚本,实现判断10.0.0.0/24网络里,当前在线用户的IP有哪些(方法有很多)
企业实战题5:请用至少两种方法实现!
写一个脚本解决DOS攻击生产案例
提示:根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔3分钟。防火墙命令为:iptables-A INPUT -s 10.0.1.10 -j DROP。
企业实战题6:
开发mysql多实例启动脚本:
已知mysql多实例启动命令为:mysqld_safe–defaults-file=/data/3306/my.cnf &
停止命令为:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sockshutdown
请完成mysql多实例启动启动脚本的编写
要求:用函数,case语句、if语句等实现。
企业实战题7:如何实现对MySQL数据库进行分库备份,请用脚本实现
企业实战题8:如何实现对MySQL数据库进行分库加分表备份,请用脚本实现
企业面试题9:请用至少两种方法实现!
bash for循环打印下面这句话中字母数不大于6的单词(昆仑万维面试题)。
I am oldboy teacher welcome to oldboy training class.
>
企业面试题10:
开发shell脚本分别实现以脚本传参以及read读入的方式比较2个整数大小。以屏幕输出的方式提醒用户比较结果。注意:一共是开发2个脚本。当用脚本传参以及read读入的方式需要对变量是否为数字、并且传参个数做判断。
企业面试题11:
打印选择菜单,一键安装
Web
服务:
[root@oldboyscripts]# sh menu.sh
1.[install lamp]
2.[install lnmp]
3.[exit]
pls input the num you want:
要求:
1
、当用户输入
1
时,输出“
startinstalling lamp.
”然后执行
/server/scripts/lamp.sh
,脚本内容输出
“lampis installed>”
后退出脚本;
2
、当用户输入
2
时,输出“
startinstalling lnmp.
”然后执行
/server/scripts/lnmp.sh
输出
“lnmpis installed>”
后退出脚本
;
3
、当输入
3
时,退出当前菜单及脚本;
4
、当输入任何其它字符,给出提示“
Input error
”后退出脚本。
5、要对执行的脚本进行相关条件判断,例如:脚本是否存在,是否可执行等。
>
企业面试题12:
1
、监控
web
服务是否正常,不低于3种监控策略。
2、监控db服务是否正常,不低于3种监控策略。
>
要求间隔1分钟,持续监控。
企业面试题13
:监控
memcache
服务是否正常,模拟用户(
web
客户端)检测。
使用nc命令加上set/get来模拟检测,以及监控响应时间及命中率。
>
企业面试题14
:面试及实战考试题:监控web站点目录(/var/html/www)下所有文件是否被恶意篡改(文件内容被改了),如果有就打印改动的文件名(发邮件),定时任务每3分钟执行一次(10分钟时间完成)。
企业面试题15:
企业案例
:
写网络服务独立进程模式下
rsync
的系统启动脚本
例如:/etc/init.d/rsyncd{start|stop|restart} 。
>
要求:
1.要使用系统函数库技巧。
>
2.要用函数,不能一坨SHI的方式。
3.可被chkconfig管理。
企业面试题16:老男孩教育
天津项目学生实践抓阄题目:
好消息,老男孩培训学生外出企业项目实践机会(第6次)来了(本月中旬),但是,名额有限,队员限3人(班长带队)。
因此需要挑选学生,因此需要一个抓阄的程序:
要求:
1、执行脚本后,想去的同学输入英文名字全拼,产生随机数01-99之间的数字,数字越大就去参加项目实践,前面已经抓到的数字,下次不能在出现相同数字。
2、第一个输入名字后,屏幕输出信息,并将名字和数字记录到文件里,程序不能退出继续等待别的学生输入。
>
企业面试题17:
老男孩
linux
企业面试题:
已知下面的字符串是通过
RANDOM
随机数变量
md5sum|cut-c 1-8
截取后的结果,请破解这些字符串对应的
md5sum
前的
RANDOM
对应数字?
21029299
00205d1c
a3da1677
1f6d12dd
890684b
企业面试题18:
批量检查多个网站地址是否正常
要求:shell数组方法实现,检测策略尽量模拟用户访问思路
http://www.etiantian.org
http://www.taobao.com
http://oldboy.blog.51cto.com
http://10.0.0.7
转载的网友,请务必保留全部内容谢谢。
检查标准:
1、查看实现的脚本,并询问脚本中的设计思想及实现流程。
2、必要情况下,面试官可以看着你要求你重新开发出来。
3、检查人:班长,组长,老男孩老师,助教。
0 Comments