링크 ux 에서 백업, 교체, tomcat 간단 한 셸 스 크 립 트 를 다시 시작 합 니 다.

4970 단어 tomcatlinux
배경
최근 에 개발 한 프로젝트 에서 배치 응용 환경 은 Liux, tomcat 8 이 었 습 니 다. 예전 의 프로젝트 는 모두 전문 적 인 실시 인원 이 배 치 를 맡 았 기 때문에 저 에 게 Liux 의 파악 정 도 는 상대 적 으로 낮 았 습 니 다.리 눅 스 학습 노트 - (1) 리 눅 스 달인 육성 계획 I - 토혈 정리 에서 자신의 학습 기록 을 공유 한 적 이 있 지만 실제로 실천 한 적 이 없다.삼가 이 프로젝트 를 통 해 첫 번 째 셸 실전 스 크 립 트 를 연습 합 니 다.
순서
스 크 립 트 를 작성 하기 전에 먼저 명확 한 기능 과 절차 가 있어 야 합 니 다.기능: 원본 war 를 백업 하고 새 war 패 키 지 를 배치 합 니 다.전제: 새 demo. war 패 키 지 는/app/backup 디 렉 터 리 에 업로드 되 었 습 니 다.스 크 립 트 작성 논리:
  • 응용 정지;
  • 오래된 demo. war 백업;
  • 새 demo. war 교체;
  • tomcat 를 다시 시작 합 니 다.

  • 각본
    #!/bin/bash
    #            
    BASEDATE=`date '+%Y%m%d'`
    #  tomcat  
    ps -ef|grep tomcat|grep -v grep|awk '{print $2}'|xargs kill -9
    #  web 
    backupdir=/app/backup/${BASEDATE}
    if [ ! -d "${backupdir}" ]; then
        #         ,     
        mkdir -p ${backupdir}
    fi
    cd ${backupdir}
    #             ,      
    if [ ! -f demo.war ]; then
       cd /app/apache-tomcat-8.0.51/webapps
       echo "    war "
       cp /app/apache-tomcat-8.0.51/webapps/demo.war ${backupdir}/demo.war
       #         
       if [ $? -eq 0 ];
            then
            echo   "     "
            #     war 
            rm -f /app/apache-tomcat-8.0.51/webapps/demo.war
       else
            echo   "     "
       fi
    else
        echo "        ,      "
        #     war 
        rm -f /app/apache-tomcat-8.0.51/webapps/demo.war
    fi
    #    war        
    mv /app/backup/demo.war /app/apache-tomcat-8.0.51/webapps/demo.war
    #  tomcat
    cd /app/apache-tomcat-8.0.51/bin
    sh startup.sh
    

    총결산
    셸 스 크 립 트 를 처음 만 들 었 기 때문에 구 덩이 를 밟 았 습 니 다. 이 기록 만:
  • fi 끝 에 빈 칸 을 하나 더 추가 하여 문법 이 틀 리 고 Liux 빈 칸 이 민감 하 다.
  • windows 에서 셸 스 크 립 트 를 편집 하 였 으 며, Liux 가 잘못 보고 하 였 습 니 다 /bin/bash^M: : .이 유 는 windows 의 기본 줄 바 꾸 기
    \r
    이 고 Liux 는
    이기 때문에 Liux 에서 바 꾸 는 문 구 를 실행 해 야 합 니 다 sed -i 's/\r$//' demo.sh
  • .
    또한 이 스 크 립 트 는 완벽 하지 않 습 니 다. 특정한 상황 에서 만 실행 해 야 오류 가 발생 하지 않 습 니 다.
  • tomcat 서버 가 실행 중인 상태 입 니 다.
  • /app/backup 디 렉 터 리 에 demo. war 파일
  • 이 있 습 니 다.
  • /app/apache - tomcat - 8.0.51/webapps 디 렉 터 리 에 demo. war 파일
  • 앞으로 Liux 의 사용 기 교 를 더 많이 파악 하고 그때 다시 공유 하 기 를 바 랍 니 다.

    좋은 웹페이지 즐겨찾기