새로 시작하는 서비스를 등록하기 위해 스크립트 작성과 서비스 등록법을 설명한다.
해당 자료는 askubuntu.com에서 참조하였다.
Init 스크립트
#!/bin/bash ### BEGIN INIT INFO # Provides: tomcat7 # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/Stop Tomcat server ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin start() { sh /usr/share/tomcat7/bin/startup.sh } stop() { sh /usr/share/tomcat7/bin/shutdown.sh } case $1 in start|stop) $1;; restart) stop; start;; *) echo "Run as $0 "; exit 1;; esac
위 스크립트 작성 후 /etc/init.d/에 위치시킨다.
chmod 755 /etc/init.d/tomcat7 update-rc.d tomcat7 defaults
등록 후
service tomcat7 [start|stop|restart]
로 사용이 가능하다.
그럼 update-rc.d는 무엇일까? 우분투는 부팅시 서비스를 등록 할 수 있다. 그 때 이 명령어를 이용한다.
방법은 위와 동일하다.
1. /etc/init.d/ 위치에 스크립트 생성
2. chmod를 이용하여 권한 부여
3. update-rc.d를 이용하여 서비스를 등록 한다.
1. /etc/init.d/ 위치에 스크립트 생성
2. chmod를 이용하여 권한 부여
3. update-rc.d를 이용하여 서비스를 등록 한다.
삭제 법은 아래와 같다
update-rc.d -f ‘service name’ remove
update-rc.d -f ‘service name’ remove
아래는 런레벨에 대해서 설명하고 있다.
레벨 | 설명 |
---|---|
0 | 시스템 정지 |
1 | 단일 사용자 모드 |
2~5 | 다중 사용자 모드 |
6 | 시스템 재가동 |
update-rc.d 명령은 /etc/init.d/와 rcN.d 디렉토리의 파일 사이에 연결을 만든다.
그 연결 파일의 명칭은 ‘S’, ‘K’로 시작, 그 뒤로 두자리 숫자와 등록된 스크립트 파일명으로 구성된다. 각 rcN.d 는 N에 해당하는 런레벨으로 실행 될 때 ‘S’로 시작되는 스크립트들이 실행되고, ‘K’는 해당 런레벨 N을 빠져 나올 때 실행되게 된다. ‘S’, ‘K’ 뒤에 숫자는 실행 순서를 나타내게 된다.
그 연결 파일의 명칭은 ‘S’, ‘K’로 시작, 그 뒤로 두자리 숫자와 등록된 스크립트 파일명으로 구성된다. 각 rcN.d 는 N에 해당하는 런레벨으로 실행 될 때 ‘S’로 시작되는 스크립트들이 실행되고, ‘K’는 해당 런레벨 N을 빠져 나올 때 실행되게 된다. ‘S’, ‘K’ 뒤에 숫자는 실행 순서를 나타내게 된다.
현재 등록된 update-rc.d 시작 프로그램의 리스트를 확인하기
명령어를 친다.
ls /etc/rc?.d
다음과 같이 나온다.
나는 시작프로그램은 jong-blahblah 와 같은 형식으로 만들었다.
grep 검색어로 지정해서 찾는다.
ls /etc/rc?.d | grep jong-
ls /etc/rc0.d 로 확인해 보는 게 더 깔끔하겠다.
다음과 같이 나온다.
ls /etc/rc?.d
다음과 같이 나온다.
나는 시작프로그램은 jong-blahblah 와 같은 형식으로 만들었다.
grep 검색어로 지정해서 찾는다.
ls /etc/rc?.d | grep jong-
ls /etc/rc0.d 로 확인해 보는 게 더 깔끔하겠다.
다음과 같이 나온다.
댓글
댓글 쓰기