【SVN】 우분투 서버에서 SVN 자동 실행 서비스 등록
- 유틸리티/형상 관리
- 2023. 10. 11. 21:26
SVN을 설치하고 매번 컴퓨터를 부팅할 때마다 SVN 저장소를 데몬으로 등록해줘야 하는 번거로움이 있습니다. 이를 매번 부팅 때마다 자동으로 실행시키도록 서비스를 등록하는 방법을 알려드리도록 하겠습니다. 터미널에 아래 명령어를 입력합니다.
sudo vi /etc/init.d/svnserve
명령어를 입력하면 vi 편지비로 "svnserve" 파일이 열립니다. 아래 내용을 입력합니다. 내용을 입력할 때 "DAEMON_ARGS"가 있습니다. "DAEMON_ARGS"의 내용을 자신의 SVN 경로를 입력해 주셔야 합니다. 저 같은 경우 SVN 위치가 "/home/kimdukyu/server/svn/project1"입니다. 그래서 "DAEMON_ARGS="-d -r /home/kimdukyu/server/svn/project1/""로 입력을 했습니다. 꼭 경로를 변경하시기 바랍니다.
#! /bin/sh
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $local_fs $syslog $remote_fs
# Required-Stop: $local_fs $syslog $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start svnserve
### END INIT INFO
# Author: Michal Wojciechowski <odyniec@odyniec.net>
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="svnserve"
NAME=svnserve
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="-d -r /home/kimdukyu/server/svn/project1/"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
[ -x "$DAEMON" ] || exit 0
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
}
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
rm -f $PIDFILE
return "$RETVAL"
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
저장 후, 실행 권한을 설정합니다. 아래 명령어를 터미널에 입력합니다.
sudo chmod u+x /etc/init.d/svnserve
서비스 등록을 위해서 아래 명령어를 터미널에 입력합니다.
sudo update-rc.d svnserve defaults
서비스 실행을 위해서 아래 명령어를 터미널에 입력합니다.
sudo service svnserve start
이제 재부팅 후 아래 명령어를 터미널에 입력합니다.
sudo netstat -ntlp | grep svn
아래의 그림과 같이 SVN 저장소가 실행되어 있는 것을 볼 수 있습니다.
'유틸리티 > 형상 관리' 카테고리의 다른 글
【SVN】 RabbitVCS Import (0) | 2023.10.11 |
---|---|
【SVN】 RabbitVCS와 SVN 클라이언트 설치 (0) | 2023.10.11 |
【SVN】 우분투 서버에서 SVN Web 접속 설정하기 (0) | 2023.10.11 |
【SVN】 우분투 서버에 SVN 설치 및 저장소 설정 (1) | 2023.10.11 |
【SVN】 TortoiseSVN update to revision (0) | 2023.10.11 |
이 글을 공유하기