演示效果:

1、一级菜单

2、二级菜单

3、执行操作

脚本参考:

#!/bin/bash
#author lic(oldboy linux student)
#date 1304
DISK_NO="/dev/sda1"
NGINX_DIR="/usr/local/tdoa/nginx/sbin/nginx"
MYSQL_DIR="/usr/local/tdoa/mysql/bin/mysqld_safe"
SERVER1="WEB"
SERVER2="MYSQL"
SERVER1_START="/usr/local/tdoa/nginx/sbin/nginx"
SERVER1_STOP="kill -QUIT `cat /usr/local/tdoa/logs/nginx/nginx.pid`"
SERVER1_RESTART="kill -HUP `cat /usr/local/tdoa/logs/nginx/nginx.pid`"
SERVER2_START="/etc/init.d/mysql start"
SERVER2_STOP="/etc/init.d/mysql stop"
SERVER2_RESTART="/etc/init.d/mysql restart"
#date
DATE=`date +"%y-%m-%d %H:%M:%S"`
#ip
IPADDR=`ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g' |sed 's/Bcast:.*$//g'`
#hostname
HOSTNAME=`hostname -s`
#user
USER=`whoami`
#disk_check
DISK_SDA=`df -h | grep $DISK_NO | awk '{print $5}'`
#cpu_average_check
cpu_uptime=`cat /proc/loadavg | cut -c1-14`
#process_check
function process_check() {
for dir in $NGINX_DIR $MYSQL_DIR
do
process_count=$(ps -ef | grep "$dir" | grep -v grep | wc -l)
for service in nginx mysql
do
echo "$dir" |grep -q "$service"
if [ $? -eq 0 ]
then
if [ $process_count -eq 0 ]
then
echo "$service.......................[NOT RUN]"
else
echo "$service.......................[RUNNING]"
continue
fi
fi
done
done
}
declare flag=0
clear
while [ "$flag" -eq 0 ]
do
echo "========================================"
process_check
echo "========================================"
cat << EOF
|-----------System Infomation-----------
| DATE       :$DATE
| HOSTNAME   :$HOSTNAME
| USER       :$USER
| IP         :$IPADDR
| DISK_USED  :$DISK_SDA
| CPU_AVERAGE:$cpu_uptime
----------------------------------------
|****Please Enter Your Choice:[0-5]****|
----------------------------------------
(1) Configure $SERVER1 Service
(2) Configure $SERVER2 Service
(3) Configure NETWORKE Service
(4) Change Passwd
(5) Logs
(0) Quit
EOF
read -p "Please enter your choice[0-5]: " input
case $input in
#web service
1)
clear
while [ "$flag" -eq 0 ]
do
cat << EOF
----------------------------------------
|****Please Enter Your Choice:[0-3]****|
----------------------------------------
(1) Start $SERVER1 Service
(2) Stop $SERVER1 Service
(3) ReStart $SERVER1 Service
(0) Back
EOFread -p "Please enter your choice[0-3]: " input1case $input1 in 1)echo -e "\n>>>>>>>>>>>$DATE Start $SERVER1">>/log.txt$SERVER1_START 2>>/log.txtif [ $? == 0 ];thenecho "Start $SERVER1......................................................[OK]"else echo "Start $SERVER1......................................................[FAILED]"fisleep 5clear;;2)  echo -e "\n>>>>>>>>>>>$DATE Stop $SERVER1">>/log.txt$SERVER1_STOP 2>>/log.txtif [ $? == 0 ];thenecho "Stop $SERVER1.......................................................[OK]"else echo "Stop $SERVER1.......................................................[FAILED]"fisleep 5clear;;3) echo -e "\n>>>>>>>>>>>$DATE ReStart $SERVER1">>/log.txt/usr/local/tdoa/php/sbin/php-fpm restart 2>>/log.txt$SERVER1_RESTART 2>>/log.txtif [ $? == 0 ];thenecho "Restart $SERVER1....................................................[OK]"else echo "Restart $SERVER1....................................................[FAILED]"fisleep 5clear;;0) clear break;;*) echo "----------------------------------"echo "|          Warning!!!            |"echo "|   Please Enter Right Choice!   |"echo "----------------------------------"for i in `seq -w 10 -1 1`doecho -ne "\b\b$i";sleep 1;doneclear;;esacdone
;;
#mysql service
2)
clear
while [ "$flag" -eq 0 ]
do
cat << EOF
----------------------------------------
|****Please Enter Your Choice:[0-3]****|
----------------------------------------
(1) Start $SERVER2 Service
(2) Stop $SERVER2 Service
(3) ReStart $SERVER2 Service
(0) Back
EOFread -p "Please enter your Choice[0-3]: " input2case $input2 in 1)echo -e "\n>>>>>>>>>>>$DATE Start $SERVER2">>/log.txt$SERVER2_START 2>>/log.txtif [ $? == 0 ];thenecho "Start $SERVER2......................................................[OK]"else echo "Start $SERVER2......................................................[FAILED]"fisleep 5clear;;2)echo -e "\n>>>>>>>>>>>$DATE Stop $SERVER2">>/log.txt$SERVER2_STOP 2>>/log.txtif [ $? == 0 ];thenecho "Stop $SERVER2.......................................................[OK]"else echo "Stop $SERVER2.......................................................[FAILED]"fisleep 5clear;;3) echo -e "\n>>>>>>>>>>>$DATE ReStart $SERVER2">>/log.txt$SERVER2_RESTART 2>>/log.txtif [ $? == 0 ];thenecho "Restart $SERVER2....................................................[OK]"else echo "Restart $SERVER2....................................................[FAILED]"fisleep 5clear;;0) clear break;;*) echo "----------------------------------"echo "|          Warning!!!            |"echo "|   Please Enter Right Choice!   |"echo "----------------------------------"for i in `seq -w 10 -1 1`doecho -ne "\b\b$i";sleep 1;doneclear;;esacdone
;;
#网络服务
3)
clear
while [ "$flag" -eq 0 ]
do
cat << EOF
----------------------------------------
|****Please Enter Your Choice:[0-3]****|
----------------------------------------
(1) ReStart NETWORK Service
(2) Configure NETWORK Service
(0) Back
EOFread -p "Please enter your Choice[0-3]: " input3case $input3 in1)echo -e "\n>>>>>>>>>>>$DATE ReStart Network">>/log.txt/etc/init.d/network restart  2>>/log.txtif [ $? == 0 ];thenecho "Restart Network.....................................................[OK]"else echo "Restart Network.....................................................[FAILED]"fisleep 5clear;;2)  clearsetupclear;;0) clear break;;*) echo "----------------------------------"echo "|          Warning!!!            |"echo "|   Please Enter Right Choice!   |"echo "----------------------------------"for i in `seq -w 10 -1 1`doecho -ne "\b\b$i";sleep 1;doneclear;;esacdone
;;
4)
clear
while [ "$flag" -eq 0 ]
do
cat << EOF
----------------------------------------
|****Please Enter Your Choice:[0-3]****|
----------------------------------------
(1) Change ROOT Passwd
(2) Change Samba Passwd
(0) Back
EOFread -p "Please enter your Choice[0-3]: " input5case $input5 in1)echo -e "\n>>>>>>>>>>>$DATE Change System Administertor Root Passwd\n">>/log.txtpasswd root 2>>/log.txtif [ $? == 0 ];thenecho "Change ROOT Passwd.....................................................[OK]"else echo "Change ROOT Passwd.....................................................[FAILED]"fisleep 5clear;;2) echo -e "\n>>>>>>>>>>>$DATE Change Samba Passwd">>/log.txtsmbpasswd -a tdoa 2>>/log.txtif [ $? == 0 ];thenecho "Change Samba Passwd.....................................................[OK]"else echo "Change Samba Passwd.....................................................[FAILED]"fisleep 5clear;;0) clear break;;*) echo "----------------------------------"echo "|          Warning!!!            |"echo "|   Please Enter Right Choice!   |"echo "----------------------------------"sleep 8clear;;
esac
done
;;
5)
clear
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "|"
less /log.txt
echo "|"
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
;;
0)
clear
exit 0
;;
*)  echo "----------------------------------"echo "|          Warning!!!            |"echo "|   Please Enter Right Choice!   |"echo "----------------------------------"for i in `seq -w 10 -1 1`doecho -ne "\b\b$i";sleep 1;doneclear
;;
esac
done

本文出自 “老男孩linux培训” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1577622

多级菜单系统安装维护shell脚本实现企业级案例相关推荐

  1. Linux系统通过Shell脚本实现一个全方面的系统性能分析系统

    Linux系统通过Shell脚本实现一个全方面的系统性能分析系统 文章目录 Linux系统通过Shell脚本实现一个全方面的系统性能分析系统 1.利用select循环实现系统工具箱 2.命令技巧 3. ...

  2. 游戏程序必备spyder程序--可进可退的多级菜单系统

    文章目录 可进可退的多级菜单系统 运行结果 代码如下 可进可退的多级菜单系统 运行结果 代码如下 while True:#外循环 print('='*10) print('1.登录') print(' ...

  3. linux脚本设计菜单,菜单式shell脚本编写

    用shell脚本编写有以下的功能: Syste Manage 1.show the user //显示登陆系统用户以及动作. 2.test the network //网络测试 3.show the ...

  4. android编译 预装apk,Android系统使用Shell脚本预装apk

    客户需求:需要在Android系统预安装一个或者若干个apk,客户可以选择自行卸载并且卸载后系统再次启动并不会再次自动安装. 考虑到需要批量安装应用,我这里考虑到使用灵活的shell脚本.shell脚 ...

  5. Ubuntu系统执行shell 脚本的方法

    使用前了解 Shell: Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁 Shell: Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 下面 ...

  6. Windows 系统执行Shell 脚本的方法

    使用前了解 Shell: Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁 Shell: Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 下面 ...

  7. linux系统中shell脚本最全详解二shell条件判断语法介绍函数分析

    目录 一.shell判断句 1.if条件判断语句 2.test判断 二.语法介绍 1.shell运算符 2.shell循环语句 三.shell函数 一.shell判断句 1.if条件判断语句 if语法 ...

  8. 【跟晓月学shell脚本】掌握shell脚本变量实战案例

    前言 上篇文章我们探讨了shell脚本变量的基本原理和概念,本篇我们基于上面的内容增加一些实战. 如果你还没有学习shell脚本的变量理论,可以点击链接:[跟晓月学shell脚本]掌握shell脚本变 ...

  9. Linux系统巡检shell脚本

    #!/bin/bash #主机信息每日巡检IPADDR=$(ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}') #环境变量PATH没 ...

最新文章

  1. Staple 跟踪: Complementary Learners for Real-Time Tracking
  2. 使用增强型后缀数组(ESA)的文本匹配算法
  3. YZMCMS V5.3后台 SSRF
  4. 从域环境搭建到域渗透
  5. Gcd HDU - 6545 (基础数论)
  6. Flink 在 58 同城的应用与实践
  7. Tomcat爆出高危漏洞
  8. poi comment
  9. 【ElasticSearch】Es 源码之 CacheService 源码解读
  10. win10编译caffe跑faster-rcnn(cuda7.5)
  11. C语言博客作业08,C语言I博客作业08
  12. WPS中的公式编辑器如何打空格
  13. MAC 及 Python 快捷键
  14. MyEclipse10破解详解过程
  15. ABAQUS中The analysis may need a large number of increments (more than 20,000,000)...错误的解决方法
  16. UpdatePanel触发javascript脚本技巧javascript
  17. aec一pc_什么是AEC声学回声消除器?
  18. 天气预报接口_001_天气预报API
  19. 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析
  20. 服务器固态硬盘raid没了,HP服务器磁盘阵列坏了怎么办,数据如何恢复?

热门文章

  1. 兴起与繁荣,那些正在启航的行业
  2. 2018, 自动驾驶异常艰难的一年
  3. 李彦宏:人工智能会让这个世界变得更美好吗?YES AI DO!
  4. 工业智联网: 基本概念、关键技术与核心应用
  5. 关于现在人工智能预测的一些冷水
  6. 超级智能城市:更高质量的幸福社会
  7. 2018-2020年中国服务机器人行业深度研究报告
  8. 桂林机场春运期间新增多条航线航班 实现接力承运无缝衔接
  9. 8.10. show vlans
  10. linux 下载jdk