tomcat 스 크 립 트 분류

1. jvm 설정 및 pid 설정
catalina. sh 스 크 립 트 설정 파일 을 업데이트 합 니 다. tomcat 를 닫 을 때 포트 가 꺼 지지 않도록 합 니 다. 프로 세 스 가 꺼 지지 않 은 현상 설정 을 실행 할 때 한 번 만 실행 하면 됩 니 다.
#!/bin/bash
#

#   tomcat      
CATALINE_BIN_DIR=/usr/local/tomcat/bin

#   tomcat   
CATALINA_BASE=`dirname $CATALINE_BIN_DIR`

#   tomcat     
BASE_DIR=`basename $CATALINA_BASE`

#   tomcat.pid
CATALINA_PID=$CATALINA_BASE/$BASE_DIR.pid

#   catalina.sh     
CATALINA_START=$CATALINE_BIN_DIR/catalina.sh

# tomcat      ,  tomcat           ,              ,
#   jvm             
sed  -i "106a CATALINA_BASE=$CATALINA_BASE 
CATALINA_PID=$CATALINA_PID
JAVA_OPTS=\"-server -Xms218m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=512m\"
" $CATALINA_START # catalina.sh stop sed -i 's/kill -3 `cat "$CATALINA_PID"`/echo " "
\tkill -9 `cat "$CATALINA_PID"`
\trm -rf "$CATALINA_PID"/' #!/bin/bash # # tomcat CATALINE_BIN_DIR=/usr/local/tomcat/bin # tomcat CATALINA_BASE=`dirname $CATALINE_BIN_DIR` # tomcat BASE_DIR=`basename $CATALINA_BASE` # tomcat.pid CATALINA_PID=$CATALINA_BASE/$BASE_DIR.pid # catalina.sh CATALINA_START=$CATALINE_BIN_DIR/catalina.sh # tomcat , tomcat , , # jvm sed -i "106a CATALINA_BASE=$CATALINA_BASE
CATALINA_PID=$CATALINA_PID
JAVA_OPTS=\"-server -Xms218m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=512m\"
" $CATALINA_START # catalina.sh stop sed -i 's/kill -3 `cat "$CATALINA_PID"`/echo " "
\tkill -9 `cat "$CATALINA_PID"`
\trm -rf "$CATALINA_PID"/' $CATALINA_START
#     

#!/bin/bash
#
dir=$1

fun(){
        CATALINE_BIN_DIR=/usr/local/$1/bin
        if [ -d $CATALINE_BIN_DIR ];then
            CATALINA_BASE=`dirname $CATALINE_BIN_DIR`
            BASE_DIR=`basename $CATALINA_BASE`
            CATALINA_PID=$CATALINA_BASE/$BASE_DIR.pid
            CATALINA_START=$CATALINE_BIN_DIR/catalina.sh
            sed  -i "106a CATALINA_BASE=$CATALINA_BASE 
CATALINA_PID=$CATALINA_PID
JAVA_OPTS=\"-server -Xms218m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=512m\"
" $CATALINA_START sed -i 's/kill -3 `cat "$CATALINA_PID"`/echo " "
\tkill -9 `cat "$CATALINA_PID"`
\trm -rf "$CATALINA_PID"/' catalina.sh else echo "then directory not exists." fi } if [ ! -z $dir ];then fun "$dir" else read -p "enable dir_name,as: tomcat_xiong " dir2 fun "$dir2" fi

2. tomcat 집중 시작 스 크 립 트
#!/bin/bash
#
#   Name: start | stop tomcat services server  
#   Version Number:1.01
#   Type:       
#   Language:bash shell  
#   Date:2018.04.16  
#   Author:xiong

cat << EOF
        0: tomcat_8080 port: 8080
        1: tomcat_8081 port: 8081
        2: tomcat_8082 port: 8082
        3: tomcat_8083 port: 8083
        4: tomcat_8084 port: 8084
        5: tomcat_8085 port: 8085
EOF

server=(tomcat_8080 tomcat_8081 tomcat_8082 tomcat_8083 tomcat_8084 tomcat_8085)

base_dir="/usr/local/"
base_script="/bin/catalina.sh"

read -p "please enable nums: " nums

len=${#server[*]}
lenc=$(expr ${len} - 1 );

if [ $nums -gt $lenc ] || [ $nums -lt 0 ];then
    echo "enables nums not esxits"
else
    nums=${server[$nums]}
    Service_path="$base_dir$nums$base_script"
    Service_pid="$base_dir$nums/$nums.pid"
fi

cat << EOF 
        1: start
        2: stop
        3: restart
        4: version
        5: status
EOF

read -p "please enable nums or status" Nust

case $Nust in
1|start)
    $Service_path start ;;
2|stop)
    $Service_path stop ;;
3|restart)
    $Service_path stop
    $Service_path start ;;
4|version)
    $Service_path version ;;
*)
    echo "enable wrong" ;;
esac

3. 실전
3.1. 스 크 립 트 수요 분석:
원인: 프로그램 이 갑자기 분실 되 기도 하지만 프로 세 스 가 존재 하고 경고 문자 도 보 내지 않 습 니 다.해결: 로그 파일 은 매 초 시도 때 도 없 이 업 데 이 트 됩 니 다. 이때 모니터링 라인 에서 실행 되 는 프로그램 로그 파일 은 로그 파일 이 30 초 동안 반응 하지 않 거나 1 분 이 증가 하지 않 으 면 이 프로그램 에 문제 가 있 을 것 입 니 다. 그러면 운영 자 들 이 관여 하여 확인 해 야 합 니 다.
3.2 계획 임무:
#  5      py  
*/5 * * * * /usr/bin/python /opt/xx/service_check.py  > /dev/null 2>&1 &

3.3, Py 스 크 립 트
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import time
import sys

#       ,               .
List_dir = os.listdir(os.path.dirname(os.path.abspath(__file__)))
Log_dir = "release/linux/logs/wrapper.log"

"""
                   
"""
def Upnotlstb():
    NLSTB = ("logpath")

    for i in NLSTB:
        with open(i, 'a') as NSLTBD:
            NSLTBD.write("python scripts project check, then not alone version insert update messages, \
            avoid send mail messages" + "
") """ dirpath: :return: , """ def Dirfile(): dirpath=[] for i in List_dir: if os.path.isdir(i): files=os.path.join(i,Log_dir) dirpath.append(files) return dirpath """ dirsize: , Fsize: :return """ def Filesize(dirname): dirsize = {} while True: for file in dirname: try: Fsize=os.path.getsize(file) dirsize[file]=Fsize except Exception as E: pass return dirsize """ file_old_size: """ def Size_Judge(oldsize,newsize,dirname): for dirfilename in dirname: # . file_old_size=oldsize[dirfilename] file_new_size=newsize[dirfilename] # , if file_old_size != file_new_size: pass else: # , with open('test.txt','w') as file: file.write(dirfilename) file.write(",then logfile not increase" + "
") os.system("/bin/bash /tmp/mail.sh") """ dirname , old_dirsize 10 , new_dirsize 10 Size_Judge """ if __name__ == '__main__': # dirname = Dirfile() # , ,10 old_dirsize=Filesize(dirname) # 10 for sl in range(2): sys.stdout.flush() time.sleep(1) # 10 , # Upnotlstb() new_drssize=Filesize(dirname) Size_Judge(old_dirsize,new_drssize,dirname)

3.4 메 일 셸 스 크 립 트
#!/bin/bash
#
# Name:        
# Version Number:1.1
# Language:bash shell  
# Date:2017-05-12
# Author:xiong

#            : [email protected]
[email protected]

#           
userpass=     

#              a.com  b.com     b.com
senduser="          a.qq.com b.qq.com c.qq.cm"

#     smtp     smtp.qiye.163.com:25        
smtpaddess=smtp.qiye.163.com:25

#         
subject="     "

#         
message=’     ’            `cat /tmp/1.txt`

#            ,          pv
/usr/local/bin/sendEmail -f $username -t $senduser -s $smtpaddess -u $subject -o tls=auto -o message-content-type=html -o message-charset=utf8  -xu $username -xp  $userpass -m $message -a           >/dev/null

좋은 웹페이지 즐겨찾기