启动脚本样例

  1 #!/bin/bash
  2 
  3 # Apache Tomcat daemon
  4 #
  5 # chkconfig: 345 10 10
  6 # description: Apache Tomcat daemon
  7 #
  8 # processname: tomcat
  9 
 10 #define variables
 11 tom="/usr/local/tomcat"
 12 startup_bin="bin/startup.sh"
 13 shutdown_bin="bin/shutdown.sh"
 14 usage="{1|2|3|all} {start|stop|restart|status}"
 15 dev="/dev/null"
 16 command="restart"
 17 
 18 #judge $1 $2 whether null
 19 if [ "$1" == "" ];then
 20         echo "Usage: $0 $usage"
 21         echo "Usage: $0 {start|stop|restart|status}"
 22         exit 1
 23 elif [ "$2" == "" ];then
 24         tomcats="1 2 3"
 25         command=$1
 26 else
 27         tomcats=$1
 28         command=$2
 29 fi
 30 
 31 #judge $1
 32 if [[ $2 != "" ]];then
 33         case $1 in
 34                 "1")
 35                         tomcats="1"
 36                 ;;
 37 
 38                 "2")
 39                         tomcats="2"
 40                 ;;
 41 
 42                 "3")
 43                         tomcats="3"
 44                 ;;
 45 
 46                 "all")
 47                         tomcats="1 2 3"
 48                 ;;
 49 
 50                 *)
 51                         echo "Usage: $0 $usage"
 52                         echo "Usage: $0 {start|stop|restart|status}"
 53                         exit 1
 54                 ;;
 55                 #echo "Usage: $0 $usage"
 56                 #;;
 57         esac
 58 else
 59         tomcats="1 2 3"
 60 fi
 61 
 62 #define start function
 63 tomcatstart() {
 64         for i in $tomcats
 65         do
 66                 tom_home="$tom$i"
 67                 run_status=$(ps -ef | grep -v 'grep' | egrep "java.*=${tom_home}")
 68                 if [ "${run_status}X" != "X" ];then
 69                         echo "tomcat $i is already running..."
 70                 else
 71                         ${tom_home}/${startup_bin} &>$dev
 72                         echo "tomcat $i starting,Please wait 2s..."
 73                         sleep 2
 74                 fi
 75         done
 76 }
 77 
 78 #define stop function
 79 tomcatstop() {
 80         for j in $tomcats
 81         do
 82                 tom1_home="$tom$j"
 83                 run1_status=$(ps -ef | grep -v 'grep' | egrep "java.*=${tom1_home}")
 84                 if [ "${run1_status}X" == "X" ];then
 85                         echo "tomcat $j is not running..."
 86                 else
 87                         ${tom1_home}/${shutdown_bin} &>$dev
 88                         echo "tomcat $j stopping,Please wait 2s..."
 89                         sleep 2
 90                 fi
 91         done
 92 }
 93 
 94 #define restart function
 95 tomcatrestart() {
 96         for m in $tomcats
 97         do
 98                 tom2_home="$tom$m"
 99                 run2_status=$(ps -ef | grep -v 'grep' | egrep "java.*=${tom2_home}")
100                 if [ "${run2_status}X" == "X" ];then
101                         echo "tomcat $m is not running..."
102                         ${tom2_home}/${startup_bin} &>$dev
103                         echo "tomcat $m starting,Please wait 2s..."
104                         sleep 2
105                 else
106                         ${tom2_home}/${shutdown_bin} &>$dev
107                         echo "tomcat $m stopping,Please wait 2s..."
108                         sleep 2
109                         ${tom2_home}/${startup_bin} &>$dev
110                         echo "tomcat $m starting,Please wait 2s..."
111                         sleep 2
112                 fi
113         done
114 }
115 
116 #define status function
117 tomcatstatus() {
118         for n in $tomcats
119         do
120                 tom3_home="$tom$n"
121                 run3_status=$(ps -ef | grep -v 'grep' | egrep "java.*=${tom3_home}")
122                 if [ "${run3_status}X" == "X" ];then
123                         echo "tomcat $n is not running..."
124                 else
125                         echo "tomcat $n is running"
126                 fi
127         done
128 }
129 
130 #judge $command
131 case $command in
132         "start")
133                 tomcatstart
134         ;;
135 
136         "stop")
137                 tomcatstop
138         ;;
139 
140         "restart")
141                 tomcatrestart
142         ;;
143 
144         "status")
145                 tomcatstatus
146         ;;
147 *)
148 echo "Usage: $0 $usage"
149 ;;
150 esac
原文地址:https://www.cnblogs.com/gjs88983244/p/3520903.html