源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-06-10 13:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Shell实现多级菜单系统安装维护脚本实例分享
演示效果: [b]1、一级菜单[/b] [img]http://files.jb51.net/file_images/article/201412/2014121102344632.jpg?201411110245[/img] [b]2、二级菜单[/b] [img]http://files.jb51.net/file_images/article/201412/2014121102417904.jpg?2014111102425[/img] [b]3、执行操作[/b] [img]http://files.jb51.net/file_images/article/201412/2014121102433856.jpg?2014111102440[/img] [b]脚本参考:[/b]
[u]复制代码[/u] 代码如下:
#!/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  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 ;; #网络服务 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 "\n>>>>>>>>>>>$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 "\b\b$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 "\n>>>>>>>>>>>$DATE Change System Administertor Root Passwd\n">>/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 "\n>>>>>>>>>>>$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 "\b\b$i";      sleep 1;    done  clear ;; esac done
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部