본문으로 바로가기

명령어를 서비스에 등록하는 방법

category 서버&시스템/Linux 2013. 2. 7. 11:23

기존에 아래처럼 실행하던 명령을 서비스로 등록해서, 서버 부팅 시 자동 실행되도록 설정한다.

$ java -jar jsock.jar &

 

본문에서 소개하는 방법 외에도, 위처럼 간단한 명령어라면 굳이 서비스로 등록하지 않아도 방법이 있다.

rc.local 파일 맨 밑줄에 추가하는 것(bash 쉘 환경변수에 등록되지 않은 경로는 절대경로로 입력).

 

/etc/rc.d/rc.local
#!/bin/bash
...(생략)...
java -jar /usr/local/jsock/jsock.jar &

서비스 등록 작업 순서

  1. 기존 명령을 스크립트 파일로 작성
  2. init.d에 스크립트 파일 작성
  3. 서비스에 등록

 

기존 명령을 스크립트 파일로 작성

/usr/local/jsock/startup.sh
#!/bin/bash
java -jar /usr/local/jsock/jsocks.jar &
$ chown 755 /usr/local/jsock/*                # 필요한만큼 실행 권한을 줘야 함

 

init.d에 스크립트 파일 작성

/etc/rc.d/init.d/proxy
# java 프록시 서버이므로 proxy라고 만들었음
#!/bin/bash
# chkconfig: 2345 81 30
# description: java proxy server
# processname: proxyserver
#
# Source function library
./etc/rc.d/init.d/functions
# Environment variable setting
export PROXY_HOME=/usr/local/jsock
# See how we were called
case "$1" in
        start)
                echo -n "Starting proxyserver: "
                bash $PROXY_HOME/startup.sh
                echo
                ;;
        stop)
                echo -n "Shutting down proxyserver: "
                echo
                ;;
        restart)
                $0 stop
                sleep5
                $0 start
                ;;
        *)
                echo "Usage: $0 {start|stop|restart}"
                exit 1
esac
exit 0
$ chmod 755 proxy

 

서비스에 등록

$ chkconfig --level 3 proxy on
$ service proxy start                       테스트