1. 程式人生 > >部署指令碼3:批量自動關閉和自動重啟

部署指令碼3:批量自動關閉和自動重啟

批量自動關閉stop和自動重啟start

#!/bin/sh
#author:wenjin.li
#:Title:fashion tomcat 
#:Synopsis:
#:Data:2018-01-12 14:35:32
#:Version:1.2
#division:Tomcat Supply chain division
#chkconfig: 2345 90 90
source /etc/profile
Key="/usr/local/middleware/"
PROJECT=(business order promotion stock manage financial ui)
PRODUCT=夢潔middleware
TOMCATINSTALL=/usr/local/middleware
TOMCATNAME=taobao-tomcat-7.0.59
TOMCATPID=`ps -ef|grep java |grep -v "grep"|grep $Key | awk '{print $2}'`
Now=$(date)
Token='https://oapi.dingtalk.com/robot/send?access_token=8d070a845ea6b575541e9ed180307d698fb40efbf0ebe99126a2d13a6ff358bf'

function_stop(){
if [[  -z $TOMCATPID ]]
   then
       echo "no tomcat pid alive!"
else
  echo "$PRODUCT current time is:$Now"
  echo -e "$PRODUCT tomcat Id list :$TOMCATPID"
  ps -ef|grep java |grep -v "grep"|grep $Key | awk '{print $2}' | xargs kill -9
  echo "KILL $TOMCATPID:"
  echo "service $PRODUCT stop success"
  echo "stop $PRODUCT tomcat time:$Now">>/tmp/tomcat.log
  echo "$PRODUCT tomcat Id list :$TOMCATPID">>/tmp/tomcat.log
  echo "---------------------- ">>/tmp/tomcat.log
fi
}

Link(){
curl $Token \
   -H 'Content-Type: application/json' \
   -d '
{
    "msgtype": "link", 
    "link": {
        "text": "'"$1"'", 
        "title": "'"$2"'", 
        "picUrl": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503578857&di=59c1712b03c4bcde9ce2875aae1fab50&imgtype=jpg&er=1&src=http%3A%2F%2Ffile01.16sucai.com%2Fd%2Ffile%2F2013-11-10%2F13840528527097.png",
        "messageUrl": "http://www.baison.com.cn/ishop/web/?app_act=page/index"
    }
}
'
}

function_status(){
if [[  -z $TOMCATPID ]]
   then
       echo "no $PRODUCT tomcat pid alive!"
else
  echo "$PRODUCT current time is:$Now"
  echo "$PRODUCT tomcat Id list :$TOMCATPID"
  echo -e " tomcat is running............."
  echo "$PRODUCT tomcat time:$(date)">>/tmp/tomcat.log
  echo "$PRODUCT tomcat Id list :$TOMCATPID">>/tmp/tomcat.log
  echo "---------------------- ">>/tmp/tomcat.log
fi
}

function_start(){
checkpid=`ps -ef|grep java |grep $Key | awk '{print $2}'`
if [[  -z $checkpid  ]]
   then
       echo "no $PRODUCT tomcat pid alive! willing running tomcat"
else
  echo "$PRODUCT tomcat is runing........ exit"
  echo "$PRODUCT tomcat Id list :$checkpid"
  exit 0
fi
echo "$PRODUCT current time is:$(date)"
echo "start $PRODUCT tocmat now waiting ........."

for PRODUCTs in ${PROJECT[@]}
do
$TOMCATINSTALL/$PRODUCTs/$TOMCATNAME/bin/startup.sh
echo -e "$PRODUCT tomcat start please exec:tail -f $TOMCATINSTALL/$PRODUCTs/$TOMCATNAME/logs/catalina.out"
sleep 2
done

echo "start $PRODUCT tomcat time:$(date)">>/tmp/tomcat.log
echo "$PRODUCT tomcat Id list :$TOMCATPID">>/tmp/tomcat.log
echo "---------------------- ">>/tmp/tomcat.log
#echo -e "$PRODUCT tomcat start please exec:tail -f $TOMCATINSTALL/$PRODUCT/$TOMCATNAME/logs/catalina.out"
exit 0
}

case $1  in
stop)
Link "暫停$PRODUCT服務" "警告"
function_stop
;;
start)
Link "啟動$PRODUCT服務" "警告"
function_start
;;
restart)
Link "重啟$PRODUCT服務" "警告"
function_stop
sleep 6 
echo "0s"
function_start
;;
status)
function_status
;;
*)
echo "No this option,Please enter:tomcatall stop|start|status|restart";;
esac
exit 0


相關推薦

部署指令碼3批量自動關閉自動

批量自動關閉stop和自動重啟start #!/bin/sh #author:wenjin.li #:Title:fashion tomcat #:Synopsis: #:Data:2018-01-12 14:35:32 #:Version:1.2 #divi

hadoop叢集一鍵自動啟動自動關閉shell指令碼

          #!/bin/bash         echo "-------------------正在啟動叢集-------- "         echo "-------------------正在啟動NameNode-------- "         ssh [email pro

企業實戰腳本案例3批量管理自動化運維100臺小規模服務器

linux pssh ssh 批量管理自動化運維100臺小規模服務器目錄1.腳本背景介紹2.腳本技術需求分析 2.1 SSH免登陸認證 2.2 Expect實現key分發 2.2 PSSH家族命令詳解3.腳本功能及實現過程 3.1 腳本運行環境介紹 3.2 腳本功能介紹

Java語法糖(2)自動裝箱自動拆箱

eth 空指針 lang 指針 反編譯 class path load pointer 自動拆箱和自動裝箱 Java為每種基本數據類型都提供了對應的包裝器類型。舉個例子: public class TestMain{public static void main(Strin

java基礎學習總結(十一)自動裝箱自動拆箱

自動拆箱和自動裝箱 Java為每種基本資料型別都提供了對應的包裝器型別。舉個例子: public class TestMain { public static void main(String[] args) { Integer i = 10; } }

Omnipeek空口抓包(3)過濾器的設定使用

轉載請註明原文地址:https://blog.csdn.net/superhcq/article/details/79886527 過濾器的使用 使用選單欄View->Filters開啟過濾器介面,如下圖所示: 系統預設已經建立了一系列過濾器,可以直接在抓包中設定過濾

IC數字前端設計開發21 (shell指令碼示例批量比較多個檔案的內容是否相同)

來自:https://www.linuxidc.com/Linux/2017-08/146536.htm   要比較兩個檔案的內容是否完全一致,可以簡單地使用diff命令。例如: diff file1 file2 &>./tmp/null.txt 但是dif

Java Challengers#3多型性繼承

    根據Venkat Subramaniam的傳說,多型性是面向物件程式設計中最重要的概念。多型性 -或者物件基於其型別執行專門操作的能力 - 是使Java程式碼具有靈活性的原因。命令,觀察者,裝飾者,策略等設計模式以及Gang Of Four建立的許多其他模式都使用

Shell指令碼實現軟體一鍵安裝自動(一)

前言 在LINUX開發過程中,往往需要對已經開發好的軟體進行打包,一鍵安裝後程序能自動後臺啟動,當程序意外關閉後能自動重啟,本篇來介紹實現過程。 業務分析 對功能進行拆分 1、實現程式後臺執行,掛掉重啟的監聽器指令碼 2、將監聽器指令碼放入開機啟動項 3、實現軟體

微信自動回覆自動搶紅包實現原理(三)自動搶紅包

經過前兩篇文章的閱讀,我相信大家應該對AccessibilityService有一定的瞭解了,是不是已經按捺不住,想自己動手試試?先別急,可以再看完我這篇文章還不遲,相信你另有收穫的。接下來我們來探索一下自動搶紅包的實現原理。 看了我第二篇微信自動回覆

第四章 Runtime應用實現NSCoding的自動歸檔自動解檔

用runtime提供的函式遍歷Model自身所有屬性,並對屬性進行encode和decode操作。 通常系統自帶的資料型別,如:字典NSDictionary,陣列NSArray,字串NSString,

python指令碼程式設計批量修改指定目錄內檔名

有的時候經常用到這個功能,批量修改視訊或者圖片的名字,按照數字編號等等,自己用python指令碼解決,輕量級又方便。 簡單版 對單個目錄下檔案字尾名 demo.py #coding:ut

微信自動回覆自動搶紅包實現原理(二)自動回覆

完成AccessibilityService的配置後,好像無從下手。先別急,先列印一些log看看吧。把下面的方法放在onAccessibilityEvent()裡: private void printEventLog(Accessibilit

zookeeper執行環境2、3單節點安裝偽分散式叢集安裝

轉載:http://www.aboutyun.com/thread-9097-1-1.html 問題導讀: 1.什麼是zookeeper 2.zookeeper有幾種安裝方式? 3.zookeeper偽分佈如何配置myid? 4.zookeeper包含哪些常用操作命令? 前

基於Jenkins 實現php專案的自動化測試、自動打包自動部署

   本篇博文宅鳥將在上篇: 基於Jenkins 搭建持續整合環境 的基礎上,繼續介紹Jenkins結合php專案實現自動化測試和自動部署。廢話不再多說,直接上幹活。    宅鳥所使用的server為Ubuntu    要實現在jenkins中實現php的自動化測試,首先需要Jenkins伺服器上安裝ph

基於Jenkins 實現php專案的自動化測試、自動打包自動部署(-)

基於Jenkins 實現php專案的自動化測試、自動打包和自動部署(一) 身在創業公司,碰到任何問題,都得擼起袖子加油幹: 隨著專案團隊的不斷擴大,專案因為人員的參差不齊導致各種各樣的問題。於是引入jenkins持續整合。 廢話不多說,先普及基礎概念

實驗3Unix/Linux許可權檔案管理命令

  File: ‘myfile’   Size: 50              Blocks: 8          IO Block: 4096   Regular File Device: 802h/2050d      Inode: 293518      Links: 1Access: (0644/

tp類型自動轉換自動完成

觸發 賦值 serialize 輸出 set cte pre 一個 attr 一、類型自動轉換 在模型中對數據庫字段自動完成 //模型中數據類型自動轉換 添加一個$type數組即可protected $type=array( ‘username‘=>‘seria

Struts2學習(二)——數據自動封裝自動傳遞

action exec pri pack 前臺 url dispatch 字符串 提交 第一點:method屬性學習 可以在一個action(MethodAction)裏,定義多個方法method1()、method2()(類比execute方法)返回String字符串。

zabbix 自動註冊自動發現

zabbixzabbix自動註冊zabbix 自動註冊功能用於在自動創建主機和配置監控後,能將服務器自動加入到監控項中,這能夠省去管理員大量手工的錄入操作。增加自定義註冊規則在客戶端agent上配置zabbix_agent.conf:HostMetadata=system.uname創建規則:定義使用元數據,