Ubuntu, Online Start 스크립트 작성

2472 단어

1 개요

  • 서버는 일반적으로 백 퍼센트 끊기지 않을 수 없기 때문에 주로 주비 또는 분포식으로 고가용성을 달성한다.
  • 끊긴 기계는 처리 정책이 많은데 자주 사용하는 것은 재부팅이지만 재부팅 후 서버가 사용 가능한 상태를 회복할 수 있도록 오프라인 부팅 스크립트를 설정해야 한다.

  • 2 시작 스크립트 작성

  • 서비스 스크립트: 서비스 이름이test라고 가정
  • #!/bin/bash
    ### BEGIN INIT INFO
    # Provides:          littleevil
    # Required-Start:    $local_fs $network
    # Required-Stop:     $local_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: test service
    # Description:       test service daemon
    ### END INIT INFO
    
    #      
    files=(file opt merchant)
    #  
    deploy=/home/littleevil/deploy/
    
    start() {
        echo "starting test service..." 
        for var in ${files[@]};
        do
            #  
            cd $deploy$var
            sh start.sh
        done
    }
    
    
    stop() {
        echo "stopping test service..."
        for var in ${files[@]};
        do
            #  
            cd $deploy$var
            sh stop.sh
        done
    }
    
    restart() {
        stop
        start
    }
    
    #  status
    case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        restart)
            restart
            ;;
    esac
  • 서버 시작 스크립트: 파일 서버의 시작 스크립트를 보여줍니다
  • #!/bin/sh
    
    echo "you will start server"
    echo "please waiting ...."
    
    ps -ef|grep file.jar|grep -v grep|awk {'print $2'}|while read line
    do
      kill -9 $line
    done
    
    rm -rf log.out
    
    # JVM   
    nohup nice java -server -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintHeapAtGC -Xloggc:./gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./oom.dump -jar file.jar >log.out&
  • 서버 중지 스크립트
  • #!/bin/sh
    
    echo "you will stop server"
    echo "please waiting ...."
    
    ps -ef|grep file.jar|grep -v grep|awk {'print $2'}|while read line
    do
      sudo -S kill -9 $line
    done
    
    rm -rf log.out

    3 시작 스크립트 설정

  • 폴더의test 서비스 스크립트를 linux 시스템의 /etc/init.d 디렉터리에 복사
  • 진입/etc/init.d 디렉터리 실행sudo update-rc.d test defaults 95
  • 실행sudo sysv-rc-conf 서비스 추가 여부 확인
  • 실행sudo service test start/stop/restart/status 또는 sudo systemctl start/stop/restart/status test.service 서비스 추가 성공 여부 테스트(서버 재부팅 필요)
  • 실행sudo sysv-rc-conf --level 2345 delightd on
  • 마지막으로 sudo reboot 테스트 서비스 오픈을 통해 자체 시작 가능 여부
  • 다음으로 전송:https://www.cnblogs.com/linzhanfly/p/9915481.html

    좋은 웹페이지 즐겨찾기