• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > Shell实现多级菜单系统安装维护脚本实例分享

Shell实现多级菜单系统安装维护脚本实例分享

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了shell 编写选择菜单,右键菜单shell,shell菜单,shell脚本实例,shell脚本编程实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

演示效果:

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
EOF
 read -p "Please enter your choice[0-3]: " input1
 case $input1 in
 1)
  echo -e "\n>>>>>>>>>>>$DATE Start $SERVER1">>/log.txt
  $SERVER1_START 2>>/log.txt
  if [ $? == 0 ];then
   echo "Start $SERVER1......................................................[OK]"
  else
   echo "Start $SERVER1......................................................[FAILED]"
  fi
  sleep 5
  clear
  ;;
 2) 
  echo -e "\n>>>>>>>>>>>$DATE Stop $SERVER1">>/log.txt
  $SERVER1_STOP 2>>/log.txt
  if [ $? == 0 ];then
   echo "Stop $SERVER1.......................................................[OK]"
  else
   echo "Stop $SERVER1.......................................................[FAILED]"
  fi
  sleep 5
  clear
  ;;
 3)
  echo -e "\n>>>>>>>>>>>$DATE ReStart $SERVER1">>/log.txt
  /usr/local/tdoa/php/sbin/php-fpm restart 2>>/log.txt
  $SERVER1_RESTART 2>>/log.txt
  if [ $? == 0 ];then
   echo "Restart $SERVER1....................................................[OK]"
  else
   echo "Restart $SERVER1....................................................[FAILED]"
  fi
  sleep 5
  clear
  ;;
 0)
 clear
 break
 ;;
 *) echo "----------------------------------"
    echo "|          Warning!!!            |"
    echo "|   Please Enter Right Choice!   |"
    echo "----------------------------------"
 for i in `seq -w 10 -1 1`
   do
     echo -ne "\b\b$i";
     sleep 1;
   done
 clear
 ;;
 esac
 done
;;
#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
EOF
 read -p "Please enter your Choice[0-3]: " input2
 case $input2 in
 1)
  echo -e "\n>>>>>>>>>>>$DATE Start $SERVER2">>/log.txt
  $SERVER2_START 2>>/log.txt
  if [ $? == 0 ];then
   echo "Start $SERVER2......................................................[OK]"
  else
   echo "Start $SERVER2......................................................[FAILED]"
  fi
  sleep 5
  clear
  ;;
 2)
  echo -e "\n>>>>>>>>>>>$DATE Stop $SERVER2">>/log.txt
  $SERVER2_STOP 2>>/log.txt
  if [ $? == 0 ];then
   echo "Stop $SERVER2.......................................................[OK]"
  else
   echo "Stop $SERVER2.......................................................[FAILED]"
  fi
  sleep 5
  clear
  ;;
 3)
  echo -e "\n>>>>>>>>>>>$DATE ReStart $SERVER2">>/log.txt
  $SERVER2_RESTART 2>>/log.txt
  if [ $? == 0 ];then
   echo "Restart $SERVER2....................................................[OK]"
  else
   echo "Restart $SERVER2....................................................[FAILED]"
  fi
  sleep 5
  clear
  ;;
 0)
 clear

您可能想查找下面的文章:

  • Shell实现多级菜单系统安装维护脚本实例分享

相关文章

  • Shell脚本自动更新hosts实现免翻墙访问google
  • linux链接编译详解
  • Linux Shell脚本系列教程(五):数学运算
  • 一天一个shell命令 linux文本操作系列-wc命令详解
  • shell监控脚本 准备工作分享
  • 解决centos7 开机/etc/rc.local 不执行的问题
  • 用expect实现的自动登录到多台服务器的shell脚本
  • Shell脚本实现自动发送邮件的例子
  • shell 字符串操作(长度,查找,替换)详解
  • Linux shell脚本实现CPU预警

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • rsync结合find技巧分享
    • Linux查找占用的端口,并杀死进程的方法
    • linux下安装oracle后使用命令行启动的方法 linux启动oracle
    • 浅谈ubuntu 中sudo update与upgrade的作用及区别
    • 使用shell检查并修复mysql数据库表的脚本
    • linux动态链接库使用方法分享
    • Shell脚本中让进程休眠的方法(sleep用法)
    • 如何测试端口通不通(四种方法)
    • Bash Shell中的select命令简单使用示例
    • Linux Shell 脚本编程入门教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有