zoukankan      html  css  js  c++  java
  • 多级菜单系统安装维护shell脚本实现企业级案例

    演示效果:

    1、一级菜单

    wKioL1RpyY_RDwaJAAKEInQnrpw366.jpg

    2、二级菜单

    wKiom1RpyRuxWSfXAAD0ePsm7Ag793.jpg

    3、执行操作

    wKioL1RpyZDiia2CAAEw_Y3jWLY244.jpg

    脚本参考:

    #!/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 "
    >>>>>>>>>>>$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 "
    >>>>>>>>>>>$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 "
    >>>>>>>>>>>$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 "$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 "
    >>>>>>>>>>>$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 "
    >>>>>>>>>>>$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 "
    >>>>>>>>>>>$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 
     break
     ;;
     *) echo "----------------------------------"
        echo "|          Warning!!!            |"
        echo "|   Please Enter Right Choice!   |"
        echo "----------------------------------"
     for i in `seq -w 10 -1 1`
       do
         echo -ne "$i";
         sleep 1;
       done
     clear
     ;;
     esac
     done
    ;;
    #网络服务
    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
    EOF
     read -p "Please enter your Choice[0-3]: " input3
     case $input3 in
     1)
       echo -e "
    >>>>>>>>>>>$DATE ReStart Network">>/log.txt
      /etc/init.d/network restart  2>>/log.txt
      if [ $? == 0 ];then
       echo "Restart Network.....................................................[OK]"
      else 
       echo "Restart Network.....................................................[FAILED]"
      fi
      sleep 5
      clear
      ;;
     2)  
        clear
      setup
      clear
      ;;
     0) 
     clear 
     break
     ;;
     *) echo "----------------------------------"
        echo "|          Warning!!!            |"
        echo "|   Please Enter Right Choice!   |"
        echo "----------------------------------"
     for i in `seq -w 10 -1 1`
       do
         echo -ne "$i";
         sleep 1;
       done
     clear
     ;;
     esac
     done
    ;;
    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
    EOF
     read -p "Please enter your Choice[0-3]: " input5
     case $input5 in
     1)
      echo -e "
    >>>>>>>>>>>$DATE Change System Administertor Root Passwd
    ">>/log.txt
      passwd root 2>>/log.txt
      if [ $? == 0 ];then
       echo "Change ROOT Passwd.....................................................[OK]"
      else 
       echo "Change ROOT Passwd.....................................................[FAILED]"
      fi
      sleep 5
      clear
      ;;
     2) 
      echo -e "
    >>>>>>>>>>>$DATE Change Samba Passwd">>/log.txt
      smbpasswd -a tdoa 2>>/log.txt
      if [ $? == 0 ];then
       echo "Change Samba Passwd.....................................................[OK]"
      else 
       echo "Change Samba Passwd.....................................................[FAILED]"
      fi
      sleep 5
      clear
      ;;
     0) 
     clear 
     break
     ;;
     *) echo "----------------------------------"
        echo "|          Warning!!!            |"
        echo "|   Please Enter Right Choice!   |"
        echo "----------------------------------"
     sleep 8
     clear
     ;;
    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`
       do
         echo -ne "$i";
         sleep 1;
       done
     clear
    ;;
    esac
    done

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

  • 相关阅读:
    如何编写Robot Framework测试用例1---(基本格式篇)
    如何编写Robot Framework测试用例2---(测试用例语法1)
    使用RobotFramework的DataBaseLibrary(Java实现)
    Python fabric远程自动部署简介
    Python之路【第二十三篇】:Django 初探--Django的开发服务器及创建数据库(笔记)
    Python之路【第二十二篇】:Django之Model操作
    Python之路【第二十一篇】:Django之Form组件
    第十一篇:web之Django之Form组件
    第十篇:web之前端之django一些feature
    第九篇:web之前端之web上传文件的方式
  • 原文地址:https://www.cnblogs.com/wajika/p/6385059.html
Copyright © 2011-2022 走看看