Mysock="/data/$Port/mysql.sock"
function_start(){
if [ ! -e "$Mysock" ];then
/application/mysql/bin/mysqld_safe --defaults-file=/data/$Port/my.cnf &>/dev/null &
action "Starting MySQL..." /bin/true
else
action "MySQL is running..." /bin/true
exit
fi
}
function_stop(){
if [ ! -e "$Mysock" ];then
action "MySQL is not running..." /bin/false
exit
else
action "Stopping MySQL..." /bin/true
/application/mysql/bin/mysqladmin -u$Myuser -p$Mypass -S $Mysock shutdown
fi
}
function_restart(){
function_stop
sleep 2
function_start
action "MySQL is restarting..." /bin/true
}
case "$1" in
start)
function_start
;;
stop)
function_stop
;;
restart)
function_restart
;;
*)
echo "USAGE: /data/$Port/mysql{start|stop|restart}"
esac
17、企业Shell面试题17:破解RANDOM随机数案例
已知下面的字符串是通过RANDOM随机数变量md5sum后,再截取一部分连续字符串的结果,请破解这些字符串对应的使用md5sum处理前的RANDOM对应的数字?
21029299
00205d1c
a3da1677
1f6d12dd
890684b
解答:生成密码字典
#!/bin/sh
for i in {0..32767}
do
screct=`echo $i|md5sum`
echo "$i $screct" >>/tmp/file.txt
done
过滤出对应密码字符串
[root@m01 ~]# egrep '21029299|00205d1c|a3da1677|1f6d12dd|890684b' /tmp/file.txt
1346 00205d1cbbeb97738ad5bbdde2a6793d -
7041 1f6d12dd61b5c7523f038a7b966413d9 -
10082 890684ba3685395c782547daf296935f -
25345 a3da1677501d9e4700ed867c5f33538a -
25667 2102929901ee1aa769d0f479d7d78b05 -
18、企业Shell面试题18:批量检查多个网站地址是否正常
企业面试题:批量检查多个网站地址是否正常
要求:
1、使用shell数组方法实现,检测策略尽量模拟用户访问。
2、每10秒钟做一次所有的检测,无法访问的输出报警。
3、待检测的地址如下
http://blog.oldboyedu.com
http://blog.etiantian.org
http://oldboy.blog.51cto.com
http://10.0.0.7
解答:
#!/bin/sh
. /etc/init.d/functions
Url=(
http://blog.oldboyedu.com
http://blog.etiantian.org
http://oldboy.blog.51cto.com
http://10.0.0.7
)
for i in ${Url[*]}
do
port=`curl -s -I -w "%{http_code}\n" $i -o /dev/null`
if [ $port -eq 200 ];then
action "$i" /bin/true
else
action "$i" /bin/false
fi
done

19、企业Shell面试题19:单词及字母去重排序案例
用shell处理以下内容
1、按单词出现频率降序排序!
2、按字母出现频率降序排序!
the squid project provides a number ofresources to assist users design,implement and support squid installations.Please browse the documentation and support sections for more infomation,byoldboy training.
解答:
20、企业Shell面试题20:开发脚本管理服务端LVS案例
请在LVS负载均衡主节点上,开发管理LVS服务的脚本ip_vs。
实现:利用ipvsadm可以启动并配置好LVS服务,脚本形式:/etc/init.d/lvs{start|stop|restart}
解答:
21、企业Shell面试题21:LVS节点健康检查及管理脚本案例
请在LVS负载均衡主节点上,模拟keepalived健康检查功能管理LVS节点,
当节点挂掉从服务器池中剔除,好了再加到服务器池中来。
解答:
22、企业Shell面试题22:LVS客户端配置脚本案例
请在LVS客户端节点上,开发LVS客户端设置VIP以及抑制ARP的管理脚本
实现:/etc/init.d/lvsclient{start|stop|restart}
解答:
23、企业Shell面试题23:模拟keepalved软件高可用案例
请在LVS服务端备用节点上,模拟keepalved vrrp功能,监听主节点,如果主节点不可访问则备节点启动并配置LVS实现接管主节点的资源提供服务(提醒:注意ARP缓存),提示此题要借助19.1.21的功能
解答:
24、企业Shell面试题24:Nginx负载节点状态监测案例
开发通过Web界面展示监控Nginx代理节点状态,效果图如下,当节点宕机时,以红色展示,当节点正常时以绿色展示

解答:
25、企业Shell面试题30:企业代码上线发布系统案例
写一套简单的企业代码上线发布系统案例,利用SVN对代码及配置文件进行管理,在办公室服务器上从svn取出指定版本的代码和配置,发布到IDC机房分发机服务器上,在分发服务器或者负载均衡器上或者应用服务器本地实现代码平滑发布、上线、回