linux服务器管理脚本(启动、停止与重启服务)

发布时间:2020-12-03编辑:脚本学堂
分享一例linux shell脚本,实现linux服务的启动、停止与重启,学习下linux服务管理脚本的编写方法,需要的朋友参考下。

一个启动,停止与重启常用服务器的Bash脚本,实际使用时请根据程序实际安装路径做相应修改。

完整代码:
 

复制代码 代码示例:

#!/bin/bash 
#
Servers=(apache2, nginx, Resin, tomcat, Couchbase, SVN, ActiveMQ, Mongo); 
Ops=(Start, Stop, Restart); 
currentDir=$(pwd); 
echo "What do you want to do?" 
select op in Start Stop Restart; 
    do 
        break
    done 
 
echo "Which server do you want to $op"  
select server in Apache2 Nginx Resin Tomcat Couchbase SVN ActiveMQ Mongo;  
    do 
        break; 
    done 
 
echo "$op $server is in progress"; 

if [ $op = "Start" ]; then 
    case $server in 
        Apache2)  
            cd /usr/local/apache2/bin; 
            sudo ./httpd -k stop 
            sudo ./httpd -k start;; 
        Resin)  
            cd /software/devsoftware/resin-pro-4.0.39/bin; 
            sudo ./resin.sh stop; 
            sudo ./resin.sh start;; 
        Nginx)  
                cd /usr/local/nginx/sbin 
            sudo ./nginx -s stop; 
            sudo ./nginx;; 
        Couchbase)  
                cd /etc/init.d 
            #udo ./couchbase-server stop; 
            sudo ./couchbase-server start;; 
        Tomcat)  
                cd /software/devsoftware/apache-tomcat-8.0.5/bin 
            sudo ./shutdown.sh; 
            sudo ./startup.sh;; 
        ActiveMQ)  
                cd /software/devsoftware/apache-activemq-5.9.1/bin   
            sudo ./activemq stop; 
            sudo ./activemq start;; 
        Mongo) 
            cd /usr/bin; 
            sudo ./mongod --config /etc/mongodb.conf --dbpath /home/yuzhitao/development/mongoDBdata; 
    echo "Mongo is started and running in the backgroud, port 28017";; 
                *)  
            echo "Not available" 
    esac 
 
elif [ $op = "Stop" ]; then 
    case $server in 
        Apache2)  
            cd /usr/local/apache2/bin; 
            sudo ./httpd -k stop;; 
        Resin)  
            cd /software/devsoftware/resin-pro-4.0.39/bin; 
            sudo ./resin.sh stop;; 
        Nginx)  
                cd /usr/local/nginx/sbin; 
            sudo ./nginx -s stop;; 
        Couchbase)  
                #cd /etc/init.d 
            #sudo ./couchbase-server stop; 
            #sudo ./couchbase-server start;; 
            pid=$(ps -ef|grep couchbase | head -2 | tail -1 | linuxjishu/13830.html target=_blank class=infotextkey>awk -F "       " {'print $2'} | awk -F "     " {'print $1'}); 
        #echo $pid; 
        sudo kill -9 $pid; 
        echo "The couchbase server is shut down";; 
        Tomcat)  
                cd /software/devsoftware/apache-tomcat-8.0.5/bin 
            sudo ./shutdown.sh;; 
        ActiveMQ)  
                /software/devsoftware/apache-activemq-5.9.1/bin; 
            sudo ./activemq stop;; 
        *) 
            echo "Not available" 
    esac 
fi