문서의 이전 판입니다!
참고 URL : https://access.redhat.com/solutions/5912
service script 작성방법
서비스 스크립트는 기본적으로 3가지 기능이 포함되어 있어야 합니다.
- service 이름으로 start 서비스가 제공되어야 합니다. 실패한 경우에는(0이 아닌 다른 값) 성공한 경우에는 0 을 반환해야 합니다.
- service 이름으로 stop 서비스가 제공되어야 합니다. 실패한 경우에는(0이 아닌 다른 값) 성공한 경우에는 0 을 반환해야 합니다.
- service 이름으로 status 서비스가 제공되어야 합니다. 실패한 경우에는(0이 아닌 다른 값) 성공한 경우에는 0 을 반환해야 합니다.
#!/bin/bash # # Copyright Red Hat Inc., 2002 # Copyright Mission Critical Linux, 2000 # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2, or (at your option) any # later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 675 Mass Ave, Cambridge, # MA 02139, USA. # # # Author: Gregory P. Myrdal # # # This file contains a template that you can use to create a script # that will start, stop and monitor an application used in a cluster \\ # service. # #------------------------------------------------------------ # Variable definitions #------------------------------------------------------------ MYNAME=$(basename $0) # The clug utility uses the normal logging levels as defined in # sys/syslog.h. Calls to clulog will use the logging level defined # for the Service Manager (clusvcmgrd). LOG_EMERG=0 # system is unusable LOG_ALERT=1 # action must be taken immediately LOG_CRIT=2 # critical conditions LOG_ERR=3 # error conditions LOG_WARNING=4 # warning conditions LOG_NOTICE=5 # normal but significant condition LOG_INFO=6 # informational LOG_DEBUG=7 # debug-level messages #------------------------------------------------------------ # Start of execution #------------------------------------------------------------ if [ $# -ne 1 ]; then echo "Usage: $0 {start, stop, status}" exit 1 fi action=$1 # type of action, i.e. 'start', 'stop' or 'status' # Record all output into a temp file in case of error exec > /tmp/$MYNAME.$action.log 2>1 clulog -s $LOG_DEBUG "In $0 with action=$action," case $action in 'start') clulog -s $LOG_INFO "Running user start script for service $0" # <<< Add service start specfic code here >>> /path/to/my-service-start exit $? ;; 'stop') clulog -s $LOG_INFO "Running user stop script for service $0" # <<< Add service stop specfic code here >>> /path/to/my-service-stop exit $? ;; 'status') clulog -s $LOG_INFO "Running user status script for service $0" # <<< Add service status specfic code here >>> pidof my-service-process exit $? ;; *) clulog -s $LOG_ERR "Unknown action '$action' passed to $0 user script" exit 1 # return failure esac
service scripts 간략 테스트 방법
로그인하면 댓글을 남길 수 있습니다.