svnserve服务开机启动

时间:2022-12-07 06:56:32

在服务器(我的环境是centos6.5)上部署完svn之后,一般都希望每次重启的时候svn服务能够随着启动。上网搜索了一下,一般有两种做法:

一、启动脚本+/etc/rc.local启动

1. 在某个目录下写一个启动svn服务的脚本,譬如我在/root目录下增加一个svn.sh文件,内容如下:

#!/bin/bash
svnserve -d -r /root/.subversion/repos

2. 保存后加x权限:

chmod u+x svn.sh

3. 在/root/svn.sh文件最后一行加上

/root/svn.sh

保存,重启系统查看是否成功。

 

二、增加一个服务脚本并使其成为服务

1. 在/etc/init.d/目录下增加服务脚本svnboot,内容如下

#!/bin/bash
# chkconfig: 2345 85 15
# description: svn server
SVN_HOME=/root/.subversion/repos
SVN_SERVER=/usr/bin/svnserve

if [ ! -x $SVN_SERVER ]; then
    echo "svnserver startup: cannot start"
    exit
fi

case "$1" in
    start)
        echo "Starting svnserve…"
        $SVN_SERVER -d -r $SVN_HOME
        echo "Finished!"
        ;;
    stop)
        echo "Stoping svnserve…"
        killall svnserve
        echo "Finished!"
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: svn { start | stop | restart } "
        exit 1
esac

注意脚本中第二三行的注释不可少,不然无法使用chkconfig加入服务。

2. 保存后加x权限:

chmod u+x svnboot

3. 加入服务

chkconfig --add svnboot
chkconfig svnboot on

重启验证是否能够开机自动重启,另外后面可以直接使用

service svnboot opt 来操作svnserve服务,opt为start|stop|restart。

 

三、总结

一般来说第一种方式比较简单明了,但是如果放在/etc/rc.local里启动的脚本越来越多,就很容易出现问题,所以像svn这种比较重要的服务,还是用第二种方式比较稳一点。